2010-10-17 54 views
0

所以我得到一個異常,我的測試項目無法打開SQLite程序集。然而這裏是我編譯時的輸出:測試類不適用於x86

------ Build started: Project: Budget, Configuration: Debug x86 ------ 
    Budget -> C:\Users\Scott\Desktop\Development\Budget\Budget\Budget\bin\Debug\Budget.exe 
------ Build started: Project: Test, Configuration: Debug Any CPU ------ 
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Data.SQLite". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. 
    Test -> C:\Users\Scott\Desktop\Development\Budget\Budget\Test\bin\Debug\Test.dll 
========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ========== 

正如你可以看到代碼項目建立好(似乎是因爲它設置爲x86)。儘管我已經將兩個項目都設置爲x86,並且保存並重建了它們,但它仍然沒有說測試是針對x86構建的,因此我們看到的是測試組件的警告,而不是其他測試。我怎樣才能爲x86構建?

斯科特

回答

1

當您導入在VS的早期版本中創建一個項目,這將發生它將導入它以進行配置Debug | AnyCPU和Release | AnyCPU。向解決方案添加新項目會創建其他配置:Debug | x86和Release | x86,這是VS2010的默認設置。現在你有四個。他們試圖通過添加另一組調試|混合平臺和發佈|混合平臺來找到解決方法。現在你有六個。

Ouch。這有點混亂。可能最糟糕的是配置名稱與目標平臺設置無關。您可以更改它,但配置名稱不會更改。這不是真的很好的想法。

解決您的Build + Configuration Manager問題。從配置=調試開始,平臺= x86。請注意平臺列,選擇具有任何CPU的項目。點擊組合框箭頭New並選擇x86。 重要提示:取消選中「創建新的解決方案平臺」複選框。勾選「構建」複選框。選擇配置=釋放並重復該過程。

這使一切都在正確的位置。您可以通過選擇右上方平臺組合框中的編輯並使用刪除來擺脫bozo平臺。哦,在開始之前進行備份。

我不認爲這會實際解決您的問題,您應該刪除SQLite程序集引用並將其添加回來。

+0

這讓我用視覺工作室煩惱的次數。由於這正是我不得不爲特定平臺構建時所要做的,我知道這是正確的答案+1 :) – Sekhat 2010-10-17 10:02:27

+0

我遇到了這個問題;但直到我在每個項目上打開平臺編輯對話框後,新的x86選項纔會保存。它顯示在網格中;但沒有在下拉菜單中顯示。 – 2012-10-04 14:12:44

相關問題