5

我目前正在关注这个页面,该页面声称在典型的 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

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

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

4

1 回答 1

6

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

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

于 2012-08-16T11:11:12.787 回答