共用方式為


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

請參閱

參考

AssemblyComparisonResult

組件快取檢視器 (Shfusion.dll)

其他資源

融合全域靜態函式