次の方法で共有


CompareAssemblyIdentity 関数

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 は、AssemblyComparisonResult 値のいずれかを返し、pfEquivalent の値についてさらに詳しい理由を示します。

解説

CompareAssemblyIdentity は、pwzAssemblyIdentity1 と pwzAssemblyIdentity2 が等しいかどうかを調べます。 次の条件のうち 1 つ以上が該当すると、pfEquivalent は true に設定されます。

  • 2 つのアセンブリ ID が等しい。 厳密な名前付きのアセンブリの場合、等価であるためには、アセンブリの名前、バージョン、公開キー トークン、およびカルチャが同一であることが要求されます。 簡易名のアセンブリの場合は、等価であるためにはアセンブリの名前とカルチャが一致することが要求されます。

  • 両方のアセンブリ ID が .NET Framework で動作するアセンブリを参照している。 この状況では、アセンブリのバージョン番号が一致しなくても 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 列挙型」を参照してください。

この関数を呼び出すのは、CompareAssembyIdentityWithConfig 関数を呼び出して、pAssemblyConfig パラメーターに NULL を渡すのと同じです。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー: Fusion.h

ライブラリ: MsCorEE.dll にリソースとして格納されていること

.NET Framework のバージョン : 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

AssemblyComparisonResult 列挙型

Shfusion.dll (アセンブリ キャッシュ ビューアー)

その他の技術情報

Fusion グローバル静的関数

CompareAssemblyIdentityWithConfig 関数