首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSBuild:如何为所有配置/平台组合构建目标?

MSBuild:如何为所有配置/平台组合构建目标?
EN

Stack Overflow用户
提问于 2017-08-03 18:54:25
回答 1查看 1.6K关注 0票数 0

我有一个带有许多目标的MSBuild XML文件,有些是几个项目文件,有些是完整的解决方案。

我要找的是这样一种方法:

代码语言:javascript
复制
MSBuild.exe build.xml /target:Target1 /p:Configuration="Debug;Release" /p:Platform="x86;x64" /m

并让MSBuild为Target1中的每个项目启动一个构建,用于每个配置和平台组合:

代码语言:javascript
复制
Debug|x86
Debug|x64
Release|x86
Release|x64

(也最好并行)

我找到了一种对一个乘法器(例如配置或平台)这样做的方法,但不是同时使用ItemGroups,但是如果我试图添加第二个乘法器,它就不工作了,结果是这样的:

代码语言:javascript
复制
Debug|<blank>
Release|<blank>
<blank>|x86
<blank>|x64

感谢您的阅读!

EN

回答 1

Stack Overflow用户

发布于 2017-08-04 09:07:04

MSBuild:如何为所有配置/平台组合构建目标?

如果您想为build.xml构建所有的信任机制,那么您需要为这个项目设置四次属性,例如:

代码语言:javascript
复制
MSBuild.exe build.xml /target:Target1 /p:Configuration="Release" /p:Platform="x86"

或者编写msbuild脚本执行此操作:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="Build">
      <MSBuild Projects="a.sln" Properties="Configuration=Debug;Platform=x86" />
      <MSBuild Projects="a.sln" Properties="Configuration=Debug;Platform=x64" />
      <MSBuild Projects="a.sln" Properties="Configuration=Release;Platform=x86" />
      <MSBuild Projects="a.sln" Properties="Configuration=Release;Platform=x64" />
   </Target>
 </Project>

如果这些方法不够有效,您可以在stijn`s的评论中考虑交叉连接ItemGroups。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45492386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档