CompareAssemblyIdentity 函式
更新:2007 年 11 月
比較兩個組件識別,以判斷它們是否相等。
STDAPI CompareAssemblyIdentity (
[in] LPCWSTR pwzAssemblyIdentity1,
[in] BOOL fUnified1,
[in] LPCWSTR pwzAssemblyIdentity2,
[in] BOOL fUnified2,
[out] BOOL *pfEquivalent,
[out] AssemblyComparisonResult *pResult
);
參數
pwzAssemblyIdentity1
[in] 比較中第一個組件的文字識別。fUnified1
[in] 布林旗標,表示 pwzAssemblyIdentity1 的使用者定義的統一。pwzAssemblyIdentity2
[in] 比較中第二個組件的文字識別。fUnified2
[in] 布林旗標,表示 pwzAssemblyIdentity2 的使用者定義的統一。pfEquivalent
[out] 布林旗標,指出這兩個組件是否相等。pResult
[out] AssemblyComparisonResult 列舉型別,其中包含比較的詳細資訊。
傳回值
pfEquivalent 會傳回布林值,指出這兩個組件是否相等。pResult 會傳回其中一個 AssemblyComparisonResult 值,為 pfEquivalent 的值提供更詳細的理由。
備註
CompareAssemblyIdentity 會檢查 pwzAssemblyIdentity1 和 pwzAssemblyIdentity2 是否相等。pfEquivalent 在下列其中一或多個條件下會設定為 true。
這兩個組件識別相等。若是強式名稱的組件,相等的條件為組件名稱、版本、公開金鑰語彙基元和文化特性都必須相同。若是簡單名稱的組件,相等的條件為組件名稱和文化特性必須相符。
這兩個組件識別都會參考在 WinFX 上執行的組件。即使組件版本號碼不相符,此狀況也會傳回 true。
這兩個組件不是 Managed 組件,但是 fUnified1 或 fUnified2 會設定為 true。
fUnified 旗標表示,所有的版本號碼 (一直到強式名稱組件的版本號碼) 都被視為與強式名稱組件相等。例如,如果 pwzAssemblyIndentity1 的值為 "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....",而 fUnified1 的值為 true,這就表示,從版本 0.0.0.0 到 3.0.0.0 的所有 MyAssembly 版本都應該被視為相等。在這類情況下,如果 pwzAssemblyIndentity2 參考與 pwzAssemblyIndentity1 相同的組件 (除了它有較低的版本號碼之外),pfEquivalent 會設定為 true。如果 pwzAssemblyIdentity2 參考較高的版本號碼,只有在 fUnified2 的值為 true 時,pfEquivalent 才會設定為 true。
pResult 參數會包括為何這兩個組件被視為相等或不相等的相關特定資訊。如需詳細資訊,請參閱AssemblyComparisonResult。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**Fusion.h
程式庫:包含做為 MsCorEE.dll 中的資源
**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0