2012-02-28 45 views
3

是否可以從MSBuild中構建包含x86和「任何cpu」項目的解決方案的所有項目?使用MSBuild構建包含x86和「任何cpu」項目的解決方案的所有項目

理想情況下,我想要一個無論項目是否具有多個平臺都可以工作的解決方案,因爲當您添加一個默認爲x86的項目時通常並不明顯,而且您必須花費大量時間來弄清爲什麼項目未建成。

+0

是否要將所有內容都構建爲「任何CPU」或「x86」? – 2012-02-28 14:21:47

+0

我想將「任何CPU」解決方案構建爲「任何CPU」,將x86解決方案構建爲x86。如果它與VS中內置的項目一樣,它會很好。 – Helephant 2012-02-28 14:25:46

+0

最大的問題是你需要知道MSBuild有這種怪癖,否則你會浪費大量時間來弄清楚爲什麼這個項目沒有建立。 – Helephant 2012-02-28 14:26:36

回答

0

如果您的解決方案具有要針對多個平臺,它可以定義多種配置打造您的tfsbuild.proj文件:

<ItemGroup> 
    <ConfigurationToBuild Include="$(BuildFlavour)|Any CPU"> 
    <FlavorToBuild>$(BuildFlavour)</FlavorToBuild> 
    <PlatformToBuild>Any CPU</PlatformToBuild> 
    </ConfigurationToBuild> 
    <ConfigurationToBuild Include="$(BuildFlavour)|x86"> 
    <FlavorToBuild>$(BuildFlavour)</FlavorToBuild> 
    <PlatformToBuild>x86</PlatformToBuild> 
    </ConfigurationToBuild> 
</ItemGroup> 

的MSBuild和TFSBuild將建立匹配,要麼任何項目配置。

2

嘗試使用稱爲「混合平臺」的解決方案級平臺。 See this post

msbuild.exe MixedProjects.sln /p:"Platform=Mixed Platforms" /p:Configuration=Debug 
相關問題