.net 程序集存在于GAC中,但系统仅在复制到本地目录时才找到它。为什么?

.net 程序集存在于GAC中,但系统仅在复制到本地目录时才找到它。为什么?,.net,gac,.net-assembly,.net,Gac,.net Assembly,我有一个类似于一个详细的情况,这也有一个很好的解决方案。 我规避错误的方式与帖子中的方式不同。我不知道为什么它解决了这个问题。我很想知道为什么 我的情况-我有一个本地32位程序集a.exe,它加载System.Data和System.Data,然后加载System.Numerics。System.Numerics发生“无法加载程序集”。System.Numerics程序集存在于GAC中,我使用fusion log viewer确保预期程序集的公钥令牌与GAC中的公钥令牌匹配。但fusion日志仍

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

我的情况-我有一个本地32位程序集a.exe,它加载System.Data和System.Data,然后加载System.Numerics。System.Numerics发生“无法加载程序集”。System.Numerics程序集存在于GAC中,我使用fusion log viewer确保预期程序集的公钥令牌与GAC中的公钥令牌匹配。但fusion日志仍然会说GAC查找不成功


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

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

这可能是32/64位问题吗?或者版本控制问题,例如,您使用的是版本1.0,但它需要版本1.1。这些日志将有助于进一步诊断。