2012-02-28 81 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 
相关问题