10

如何让 Visual Studio 2005/2008 引用 64 位 GAC 而不是 32 位 GAC 中的程序集?我们将目标平台设置为 x64,编译器抛出错误

错误 2 警告为错误:程序集生成 -- 引用的程序集“System.Data.dll”针对不同的处理器

错误 3 警告为错误:程序集生成 -- 引用的程序集“mscorlib.dll”针对不同的处理器

错误 4 程序集签名失败;输出可能没有签名——系统找不到指定的文件。常见的


2008 年 12 月 29 日更新

一直在尝试Aaron Stebner将 64 位程序集放置到隔离位置(例如 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\GAC_64)的建议,并在注册表中创建其他条目,如 HKLM\SOFTWARE\Microsoft.NETFramework \AssemblyFolders\GAC_64 或 HKLM\SOFTWARE\Microsoft.NETFramework\v2.0.50727\AssemblyFoldersEx\GAC_64 但 Visual Studio 2005 仍然没有选择它....

4

3 回答 3

2

我不确定你为什么需要这样做。如果可以,未专门为 32 位编译的 .NET 代码将运行 64 位。这包括基本框架库。简而言之,我知道没有理由专门为 64 位编译您的程序集(除了引用非托管 64 位 dll,但您说的是 GAC)。

更多信息可能会有所帮助。

于 2009-01-01T00:12:57.137 回答
0

您是否在 Configuration Manager 中为解决方案中的所有项目设置了 x64 平台?

于 2008-10-22T08:46:10.303 回答
0

我创建了一个完全免费的工具,它将帮助您实现目标。Muse VSReferences将允许您从“添加 GAC 引用”菜单项添加对项目的全局程序集缓存引用。

于 2010-04-29T07:05:41.157 回答