2014-06-20 54 views
2

我正在嘗試擁有包含解決方案文件和項目文件的TFS 2012構建定義。使用相同的TFS構建定義的解決方案和項目構建定義

構建運行時,解決方案不會構建。相反,我得到這樣的警告:

F:\來源\ 1 \ mycode的的\ src \ MySolution.sln.metaproj:指定的解決方案配置 「發佈| AnyCPU」 無效。請使用配置和平臺屬性(例如 MSBuild.exe Solution.sln/p:Configuration = Debug/p:Platform =「Any CPU」)指定一個有效的解決方案 或將這些屬性留空以使用默認解決方案 組態。

這是由於Visual Studio使用「Any CPU」作爲解決方案文件的平臺而使用「AnyCPU」作爲項目文件的錯誤引起的。見: http://connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project

有沒有辦法配置我的構建,使這項工作,儘管問題?也就是說,一種將特定平臺值傳遞給特定sln構建命令的方法,同時將不同的值傳遞給其他命令?

+0

你讀過這個問題:http://stackoverflow.com/questions/2957672/anycpu-vs-any-cpu-in-tfs-2010 –

+0

VS2013的新bug發佈在這裏:https://connect.microsoft。 COM/VisualStudio中/反饋/信息/ 932918 /解決方案和項目具備的,不同的值換任何-CPU# –

回答

2

打開您的解決方案。

構建菜單單擊配置管理器

有效解決方案平臺下拉選擇。創建一個新平臺稱爲「任何CPU」和複製設置從 AnyCPU配置。

點擊OK

積極解決方案平臺下拉,選擇編輯

選擇「AnyCPU」並點擊刪除

確定關閉所有對話框,然後按CTRL + SHIFT + S保存您的解決方案文件。

現在,當您構建解決方案的平臺應該是相同的。

5

如何編輯您單獨構建的.csproj並將Or '$(Platform)' == 'Any CPU'添加到Platform屬性的默認條件以覆蓋/修整空間?

<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' Or '$(Platform)' == 'Any CPU' ">AnyCPU</Platform> 
相關問題