GAC似乎包含两个具有相同名称,版本和公钥令牌的程序集

时间:2012-08-16 11:07:12

标签: .net gac .net-assembly

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

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

对于这些程序集,似乎有两个不同的程序集具有相同的三元组“name + version + token”。

怎么可能?这可能是网页中的错误还是可能的?如何根据这些程序集选择所需的软件?

1 个答案:

答案 0 :(得分:6)

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

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