【问题标题】:GAC seems to contain two assemblies with identical name, version and public key tokenGAC 似乎包含两个具有相同名称、版本和公钥令牌的程序集
【发布时间】:2012-08-16 11:07:11
【问题描述】:

我目前正在关注this page,它声称在典型的 Azure VM 上列出了 GAC 的内容。请注意,以下程序集和许多其他程序集被列出了两次。

AuditPolicyGPManagedStubs.Interop, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 TWICE
CustomMarshalers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a TWICE
CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a TWICE
ISymWrapper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a TWICE
ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a TWICE
Microsoft.GroupPolicy.AdmTmplEditor, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 TWICE

对于这些程序集,似乎有两个不同的程序集具有相同的三元组“名称+版本+令牌”。

这怎么可能?这可能是网页中的错误还是可能没问题?软件将如何根据这些程序集选择它想要的?

【问题讨论】:

    标签: .net gac .net-assembly


    【解决方案1】:

    这是由于处理器架构(最有可能是 x86 或 x64)。该页面没有列出与每个程序集相关的处理器架构,但这也是 GAC 的一个因素。

    您可以拥有与特定处理器架构或平台无关的程序集。如果您在 C:\Windows\assembly 检查本地 GAC 的内容,则资源管理器对该文件夹的自定义处理将允许您查看程序集列表和相关的处理器架构。

    【讨论】:

    • 是的,您会在 GAC_32 和 GAC_64 中找到这些,而不是在 GAC_MSIL 中。
    猜你喜欢
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 2014-11-12
    相关资源
    最近更新 更多