4

我使用一個項目創建新解決方案,然後將目標平臺從「任何CPU」更改爲「x86」。添加的這些新項目默認情況下不會生成,並且其目標平臺不會遵循全局設置。爲什麼?!明確設置目標平臺時未構建的新項目

看着加不檢查,以「構建」配置管理器新項目,他們得到目標平臺「任何CPU」,而不是全局設置86。這是爲什麼發生?我希望新項目也能獲得全球定義和定義的x86目標平臺..我嘗試過的一些東西:

  • 切換全球平臺返回任何CPU,然後再切換到x86。沒有變化..
  • 爲新項目明確選擇平臺。 86不可在列表中,當我說<New..>,然後嘗試在它不允許我爲「..一個解決方案平臺,使用相同的名稱已經存在。」。
  • 關於新項目的構建屬性,我無法在「配置」部分更改平臺,但我可以在「常規」部分將「平臺目標」設置爲x86。然而,目前尚不清楚這是否真的有所作爲,如果稍後我在全球範圍內改變目標平臺,它將不會作出迴應。

起初我以爲這是從VS2008轉換我的解決方案,以VS2010的一個問題,但問題適用於這兩個地方。即當我在VS2008中創建一個解決方案,並留在VS2008中時,我仍然遇到了這個問題。

回答

4

是的,這是在VS2010非常接近破變化,有點亂。在2010年創建的新解決方案將有兩種配置,「Debug | x86」和「Release | x86」。這與以前版本創建的解決方案不同,「Debug | Any CPU」和「Release | Any CPU」是默認設置。

當你再添加在以前版本的這個VS2010創建解決方案創建的現有項目,你會得到一個討厭的魚龍混雜。該平臺組合現在顯示三個選項,「x86」,「任何CPU」和「混合平臺」。後者將建立所有項目。什麼也非常混淆的是,配置名稱實際上並不直接影響平臺目標設置。

它是可以解決,你可以搜索並與在的.sln「86」代替「任何CPU」,並用文本編輯器的.vcproj文件。最好的辦法或許是避免麻煩,讓VS2010轉換VS2008解決方案,而不是創建一個新的解決方案。 Yucky問題。

+0

謝謝!將嘗試seach +替換.sln,但聽起來並不理想: - /請注意,我確實讓VS2010轉換我的VS2008解決方案,並且當我添加新項目時遇到問題 - 不存在VS2008項目。也;我只在VS2008上工作時得到這個 - 沒有升級,沒有任何事 - 只是改變目標平臺並添加新的乾淨項目。所以它不(僅)似乎是一個VS2010的事情。 – stiank81 2010-05-07 12:33:42

+0

好像我可以通過修改解決方案和項目文件來修復它。不能用「x86」替換所有的「任何CPU」,但是要弄清楚應該做什麼是相當直接的。這實際上使它能夠對稍後對全局設置所做的更改作出響應。大! :-) – stiank81 2010-05-07 12:48:27

+0

我通過卸載項目並在VS中編輯.csproj文件來修復它。確保使用「AnyCPU」(Any和CPU之間沒有引號或空格)而不是x86。在一個案例中,我注意到一個空的PropertyGroup被添加 - 我刪除它。 – pbz 2011-09-26 21:32:07

1

步驟:

  • 關閉該項目
  • 用記事本打開
  • 替換64所有86的的csproj文件,保存
  • 重新打開項目和它的作品。