2008-10-22 149 views
10

如何讓Visual Studio 2005/2008引用64位GAC中的程序集而不是32位GAC?我們設置搜索目標platfom到x64和編譯器拋出的Visual Studio參考x64 GAC

Error 2 Warning as Error: Assembly generation -- Referenced assembly 'System.Data.dll' targets a different processor Common

Error 3 Warning as Error: Assembly generation -- Referenced assembly 'mscorlib.dll' targets a different processor Common

Error 4 Assembly signing failed; output may not be signed -- The system cannot find the file specified. Common


更新29錯誤08年12月

一直在嘗試Aaron Stebner's suggestions到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仍然沒有采用它......

回答

0

您是否在配置管理器中爲解決方案中的所有項目設置了x64平臺?

+0

是的,但沒關係。它是項目引用的BCL程序集,如System.Data.dll和mscorlib.dll。他們正在引用32位GAC中的程序集。很高興能夠選擇參考64位GAC。 – icelava 2008-10-22 08:55:17

2

我不知道爲什麼你需要這樣做。沒有專門編譯爲32位的.NET代碼將運行64位,如果可以的話。這包括基本框架庫。簡而言之,我沒有理由編譯專門針對64位的程序集(除了引用非託管64位dll,但您正在討論GAC)。

有些更多的信息可能對此有所幫助。

+0

是的,我們正在編譯我們的應用程序專門針對x64。並因此,編譯器抱怨System.Data或mscorlib目標是x86 ..... – icelava 2009-01-01 03:58:03

0

我創建了一個完全免費的工具,可以幫助您實現目標。 Muse VSReferences將允許您從「添加GAC參考」菜單項中將全局程序集緩存引用添加到項目中。