CompareAssemblyIdentityWithConfig 函数

更新:2011 年 5 月

在应用指定配置文件中的可移植策略元素后,比较两个程序集标识以确定它们是否等效。

STDAPI CompareAssemblyIdentityWithConfig (
    [in]  LPCWSTR                  pwzAssemblyIdentity1,
    [in]  BOOL                     fUnified1,
    [in]  LPCWSTR                  pwzAssemblyIdentity2,
    [in]  BOOL                     fUnified2,
    [in]  struct AssemblyConfig    *pAssemblyConfig,
    [out] BOOL                     *pfEquivalent,
    [out] AssemblyComparisonResult *pResult
 );

参数

  • pwzAssemblyIdentity1
    [in] 该比较中第一个程序集的文本标识。

  • fUnified1
    [in] 一个布尔型标志,指示 pwzAssemblyIdentity1 的用户指定一致性。

  • pwzAssemblyIdentity2
    [in] 该比较中第二个程序集的文本标识。

  • fUnified2
    [in] 一个布尔型标志,指示 pwzAssemblyIdentity2 的用户指定一致性。

  • pAssemblyConfig
    [in] 一个配置文件,该文件包含的信息会影响可移植性策略,例如 <supportPortability> 元素

  • pfEquivalent
    [out] 一个布尔型标志,指示这两个程序集是否等效。

  • pResult
    [out] 一个 AssemblyComparisonResult 值,包含有关该比较的详细信息。

返回值

pfEquivalent 返回一个布尔值,指示这两个程序集是否等效。 pResult 返回其中一个 AssemblyComparisonResult 值,以便为 pfEquivalent 值提供较详细的原因。

备注

CompareAssemblyIdentityWithConfig 检查 pwzAssemblyIdentity1 和 pwzAssemblyIdentity2 是否等效。 如果影响可移植策略的 pAssemblyConfig 中的任何元素的应用程序后一个或多个条件为 true,则请将 pfEquivalent 设置为 true:

  • 这两个程序集标识等效。 对于具有强名称的程序集,等效性要求程序集名称、版本、公钥标记和区域性均应相同。 对于具有简单名称的程序集,等效性要求程序集名称与区域性匹配。

  • 这两个程序集标识均指在 .NET Framework 上运行的程序集。 即使程序集版本号不匹配,此条件也会返回 true。

  • 虽然这两个程序集不是托管程序集,但是将 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 参数包括以下特定信息:为什么将这两个程序集视为等效或视为不等效。 更多信息,请参见 AssemblyComparisonResult enumeration 。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**Fusion.h

**库:**作为一项资源包含在 MsCorEE.dll 中

**.NET Framework 版本:**4

请参见

参考

AssemblyComparisonResult 枚举

Shfusion.dll(程序集缓存查看器)

CompareAssemblyIdentity 函数

其他资源

合成全局静态函数

修订记录

Date

修订记录

原因

2011 年 5 月

更正了初始文档中的错误。

客户反馈

2011 年 3 月

添加了缺少的 API 文档。

内容 Bug 修复