使用MSBuild构建一个包含x86和“any cpu”项目混合的解决方案中的所有项目

3

是否可能通过MSBuild构建解决方案中的所有x86和“任何CPU”项目?

理想情况下,我希望有一个解决方案,无论项目是否具有多个平台,都可以工作,因为当您添加默认为x86的项目时,往往不明显,您必须花费大量时间才能弄清楚为什么项目没有被构建。


你想将所有东西都构建为“Any CPU”还是全部构建为“x86”? - Filip De Vos
我想将“Any CPU”解决方案构建为“Any CPU”,将x86解决方案构建为x86。如果它能像在VS中构建项目时一样运行,那就太好了。 - Helephant
最大的问题是你需要知道 MSBuild 有这种古怪的行为,否则你会浪费很多时间来弄清楚为什么项目无法构建。 - Helephant
2个回答

2
尝试使用名为“混合平台”的解决方案级平台。请参考此文章
  msbuild.exe MixedProjects.sln /p:"Platform=Mixed Platforms" /p:Configuration=Debug

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将构建与任一配置匹配的任何项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接