2013-07-16 113 views
0

我有大約3層的Visual Studio解決方案。每個人都使用前一個編譯的DLL來構建在網站中使用的實用程序。VS2010 x64解決方案構建,但部署項目失敗

我有任務將所有內容都轉換爲64位。我已將所有3個解決方案中的每個項目中的每個項目都設置爲x64處理器(除了網站中的.deploy項目;只能選擇「任何CPU」)。

每個解決方案的構建都很完美,沒有提到處理器不匹配。

但是,如果我勾選.deploy項目旁邊的構建框,它會失敗,並顯示「無法加載文件或程序集......嘗試加載程序的格式不正確」錯誤。

我是否認爲問題在於部署項目而不是代碼?其他一切都在構建,它只是開始呻吟的部署項目。我無法選擇除「任何CPU」以外的任何事實都有點令人沮喪。

回答

0

事實上,我不能選擇「任何CPU」以外的任何東西都有點令人沮喪。

這可能是爲了讓你做正確的事情。您應該選擇AnyCPU作爲項目的平臺目標設置,而不是x64。 AnyCPU說明它的功能,它將作爲64位操作系統上的64位代碼運行。並且仍然以32位模式工作,例如在Visual Studio中使用這是一個32位的過程。請注意,對於託管項目,它是項目+屬性,生成選項卡,重要平臺目標設置,而不是解決方案平臺的名稱。將其設置爲AnyCPU。在VS2012中取消選擇「首選32位」選項。

顯式定位x64僅適用於非託管代碼,例如由C++編譯器生成的代碼。這個問題是否適用尚不清楚。

+0

是的,我認爲你是對的。設置一切到任何CPU確實似乎工作,並且是一個更好的解決方案。 – Greg

相關問題