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
では、pwzAssemblyIdentity1
と pwzAssemblyIdentity2
が同等であるかどうかがチェックされます。 次の条件を 1 つ以上満たすと、pfEquivalent
が true
に設定されます。
2 つのアセンブリ ID が同等である。 アセンブリに厳密な名前が付けられている場合は、同等であるには、アセンブリ名、バージョン、公開キー トークン、カルチャが同一である必要があります。 アセンブリに単純な名前が付けられている場合は、同等であるには、アセンブリ名とカルチャが一致する必要があります。
どちらのアセンブリ ID でも、.NET Framework で実行されるアセンブリが参照されます。 この条件では、アセンブリのバージョン番号が一致しない場合でも、
true
が返されます。2 つのアセンブリがマネージド アセンブリではないが、
fUnified1
またはfUnified2
が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
パラメーターには、2 つのアセンブリが同等と見なされる理由に関する特定の情報が含まれています。 詳細については、「AssemblyComparisonResult 列挙型」を参照してください。
必要条件
:「システム要件」を参照してください。
ヘッダー: Fusion.h
ライブラリ: リソースとして MsCorEE.dll に含まれている
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET