更新 : 2007 年 11 月
2 つのアセンブリ ID が等しいかどうかを調べます。
STDAPI CompareAssemblyIdentity (
[in] LPCWSTR pwzAssemblyIdentity1,
[in] BOOL fUnified1,
[in] LPCWSTR pwzAssemblyIdentity2,
[in] BOOL fUnified2,
[out] BOOL *pfEquivalent,
[out] AssemblyComparisonResult *pResult
);
パラメータ
pwzAssemblyIdentity1
[入力] 比較する 1 つ目のアセンブリのテキストの ID。fUnified1
[入力] pwzAssemblyIdentity1 のバージョン番号の同一視についてのユーザー指定を示すブール型のフラグ。pwzAssemblyIdentity2
[入力] 比較する 2 つ目のアセンブリのテキストの ID。fUnified2
[入力] pwzAssemblyIdentity2 のバージョン番号の同一視についてのユーザー指定を示すブール型のフラグ。pfEquivalent
[出力] 2 つのアセンブリが等しいかどうかを示すブール型のフラグ。pResult
[出力] 比較の詳細情報を含む AssemblyComparisonResult 列挙体。
戻り値
pfEquivalent は、2 つのアセンブリが等しいかどうかを示すブール型の値を返します。pResult は、pfEquivalent 値の詳細な理由を示す AssemblyComparisonResult 値のいずれかを返します。
解説
CompareAssemblyIdentity は、pwzAssemblyIdentity1 および pwzAssemblyIdentity2 が等しいかどうかを確認します。pfEquivalent は、次の 1 つ以上の条件で true に設定されます。
2 つのアセンブリ ID が等しい。厳密な名前付きのアセンブリの場合、等価であるためには、アセンブリの名前、バージョン、公開キー トークン、およびカルチャが同一であることが要求されます。簡易名のアセンブリの場合は、等価であるためにはアセンブリの名前とカルチャが一致することが要求されます。
両方のアセンブリ ID が WinFX で動作するアセンブリを参照している。この状況では、アセンブリのバージョン番号が一致しなくても true が返されます。
2 つのアセンブリはマネージ アセンブリではないが、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 パラメータには、2 つのアセンブリが等価と見なされる、または等価でないと見なされる理由についての固有の情報が含まれます。詳細については、「AssemblyComparisonResult」を参照してください。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : Fusion.h
ライブラリ : MsCorEE.dll にリソースとして格納されていること
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0
参照
参照
アセンブリ キャッシュ ビューア (Shfusion.dll)