在解决方案资源管理器中,右键单击根节点 →配置管理器。您需要定义一个解决方案范围的配置,指示其中的每个项目构建为 32 位。(注意:如果您曾经将至少一个项目设置为构建为 32 位,那么您可能已经拥有一个。)有关分步演练,请参阅 MSDN 博客文章解决方案配置。
然后,您在Team Build .proj
/.targets
文件中指定所需的“平台”和“风格”。例如:
<ConfigurationToBuild Include="Release|x86">
<FlavorToBuild>Release</FlavorToBuild>
<PlatformToBuild>x86</PlatformToBuild>
</ConfigurationToBuild>
您可以指定多个这些属性部分以构建多个组合。我会直接从您的文件中复制/粘贴“Release|x86”字符串(或任何看起来像的),.sln
以确保它完全匹配——您无法直接从解决方案资源管理器中获取它。
关于您的评论:
MSBuild 属性评估非常复杂,因为它混合了声明式和命令式风格。有关详细信息,请参阅博文MSBuild 属性评估。我不想依赖它的微妙之处。
确实,在命令行上指定的属性应该覆盖其他所有内容,但 Team Build 具有另一层复杂性。ComputeConfigurationList 任务通过递归 MSBuild 调用重复调用,而不是普通任务。它实现这一点的方式是获取普通属性PlatformToBuild
,并将它们包装在一组名为ConfigurationToBuild.PlatformToBuild
(等)的全局属性中,这些属性是动态生成的,每个配置一次。这使得 Team Build 引擎在内部更加灵活,但也使得破解您想要的命令行行为变得更加困难。
您可以尝试ConfigurationToBuild.PlatformToBuild
直接在命令行上进行设置——它可能会起作用,我不确定。但它肯定会阻止您在单个构建定义中构建多个配置。出于这个原因,我坚持我上面的建议。