3

我的情况与此处详述的情况类似,它也有一个很好的解决方案。我解决错误的方式与帖子中的不同。我不确定为什么它解决了这个问题。我很想知道为什么。

我的情况 - 我有一个本机 32 位程序集 A.exe,它正在加载 System.Data,而 System.Data 又在加载 System.Numerics。System.Numerics 发生了“无法加载程序集”。GAC 中存在 System.Numerics 程序集,我使用融合日志查看器确保预期程序集的公钥令牌与 GAC 中的公钥令牌匹配。但是融合日志仍然会说 GAC 查找不成功。

当我将 System.Numerics 程序集从 GAC 位置复制到 A.exe 目录时,问题就消失了。我很好奇为什么这解决了这个问题以及为什么 GAC 查找不成功。

4

1 回答 1

0

如果您在64 位机器上开发并在解决方案中的任何项目上使用“使用任何 CPU ”,则默认情况下会加载64 位的 GAC 程序集。为避免这种情况,您将所有项目设置为仅使用 32bit进行编译。这样,将只使用 32 位 GAC。

于 2013-02-26T17:40:24.993 回答