共用方式為


CompareAssemblyIdentity 函式

比較兩個組件的識別,確定它們是否相等。

語法

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 會檢查 pwzAssemblyIdentity1pwzAssemblyIdentity2 是否相等。 如果符合下列一或多個條件,系統會將 pfEquivalent 設為 true

  • 兩個組件的識別相等。 如果組件具有強式名稱,識別相等的條件為兩者的組件名稱、版本、公開金鑰權杖和文化特性 (Culture) 都必須相同。 如果組件具有普通名稱,識別相等的條件則為組件名稱和文化特性 (Culture) 必須相同。

  • 這兩個元件識別都是指在.NET Framework上執行的元件。 即使組件版本號碼不相符,這個條件仍會傳回 true

  • 兩個組件並非受控組件,但 fUnified1fUnified2 設為 true

fUnified 旗標表示強式名稱組件版本號碼以下的所有版本號碼都被視為相當於強式名稱組件的對等項目。 舉例來說,如果 pwzAssemblyIdentity1 的值是「MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....」,且 fUnified1 的值是 true,這表示從 0.0.0.0 到 3.0.0.0 的所有 MyAssembly 版本都應該被視為對等項目。 在這個情況下,如果 pwzAssemblyIdentity2 參考與 pwzAssemblyIdentity1 相同的組件,但版本號碼較舊,pfEquivalent 將設為 true。 如果 pwzAssemblyIdentity2 參考較新的版本號碼,則只有在 fUnified2 的值是 true 時,pfEquivalent 才會設為 true

pResult 參數包含為何兩個組件被視為相等或不相等的特定資訊。 如需詳細資訊,請參閱AssemblyComparisonResult 列舉

規格需求

平台:請參閱系統需求

標題: Fusion.h

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 2.0 起可用

另請參閱