Share via


CompareAssemblyIdentity 関数

2 つのアセンブリ ID を比較して、等しいかどうかを判断します。

構文

STDAPI CompareAssemblyIdentity (  
    [in]  LPCWSTR                  pwzAssemblyIdentity1,  
    [in]  BOOL                     fUnified1,  
    [in]  LPCWSTR                  pwzAssemblyIdentity2,  
    [in]  BOOL                     fUnified2,  
    [out] BOOL                     *pfEquivalent,  
    [out] AssemblyComparisonResult *pResult  
 );  

パラメーター

pwzAssemblyIdentity1
[in] 比較の 1 番目のアセンブリのテキスト ID。

fUnified1
[in] ユーザーが指定した pwzAssemblyIdentity1 の統合を示すブール型のフラグ。

pwzAssemblyIdentity2
[in] 比較の 2 番目のアセンブリのテキスト ID。

fUnified2
[in] ユーザーが指定した pwzAssemblyIdentity2 の統合を示すブール型のフラグ。

pfEquivalent
[out] 2 つのアセンブリが等しいかどうかを示すブール型のフラグ。

pResult
[out] 比較に関する詳細情報を格納する AssemblyComparisonResult 列挙型です。

戻り値

pfEquivalent では、2 つのアセンブリが等しいかどうかを示すブール型の値が返されます。 pResult では、pfEquivalent の値により詳細な理由を指定するために、AssemblyComparisonResult 値のいずれかが返されます。

解説

CompareAssemblyIdentity では、pwzAssemblyIdentity1pwzAssemblyIdentity2 が同等であるかどうかがチェックされます。 次の条件を 1 つ以上満たすと、pfEquivalenttrue に設定されます。

  • 2 つのアセンブリ ID が同等である。 アセンブリに厳密な名前が付けられている場合は、同等であるには、アセンブリ名、バージョン、公開キー トークン、カルチャが同一である必要があります。 アセンブリに単純な名前が付けられている場合は、同等であるには、アセンブリ名とカルチャが一致する必要があります。

  • どちらのアセンブリ ID でも、.NET Framework で実行されるアセンブリが参照されます。 この条件では、アセンブリのバージョン番号が一致しない場合でも、true が返されます。

  • 2 つのアセンブリがマネージド アセンブリではないが、fUnified1 または fUnified2true に設定された。

fUnified フラグは、厳密な名前が付けられたアセンブリのバージョン番号までのすべてのバージョン番号と、厳密な名前が付けられたアセンブリと同等であると見なされることを示します。 たとえば、pwzAssemblyIdentity1 の値 が "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=...." であり、fUnified1 の値が true である場合は、バージョン 0.0.0.0 から 3.0.0.0 までのすべてのバージョンの MyAssembly が同等であると見なされます。 このような場合、pwzAssemblyIdentity2pwzAssemblyIdentity1 で同じアセンブリが参照されていれば、下位のバージョン番号である点を除いて、pfEquivalenttrue に設定されます。 pwzAssemblyIdentity2 で上位のバージョン番号が参照されていれば、fUnified2 の値が true である場合にのみ、pfEquivalenttrue に設定されます。

pResult パラメーターには、2 つのアセンブリが同等と見なされる理由に関する特定の情報が含まれています。 詳細については、「AssemblyComparisonResult 列挙型」を参照してください。

必要条件

:システム要件」を参照してください。

ヘッダー: Fusion.h

ライブラリ: リソースとして MsCorEE.dll に含まれている

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目