我有一个包含许多目标的MSBuild XML文件,有些是几个项目文件,有些是完整的解决方案。
我正在寻找的是一种方法来执行以下操作:
MSBuild.exe build.xml /target:Target1 /p:Configuration="Debug;Release" /p:Platform="x86;x64" /m
让MSBuild针对配置和平台的每个组合为Target1中的每个项目启动构建:
Debug|x86
Debug|x64
Release|x86
Release|x64
(也优选并行)
我找到了一种方法来为一个乘法器(例如配置OR平台)做到这一点,但不是两个都使用ItemGroups但是如果我尝试添加第二个乘数它不会工作并且最终会像这样:
Debug|<blank>
Release|<blank>
<blank>|x86
<blank>|x64
感谢阅读!
答案 0 :(得分:0)
MSBuild:如何为所有配置/平台组合构建目标?
如果要为build.xml
构建所有配置,则需要使用此项目的设置属性构建四次,例如:
MSBuild.exe build.xml /target:Target1 /p:Configuration="Release" /p:Platform="x86"
或编写一个msbuild脚本来执行此操作:
<?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的评论中使用交叉连接项目组。