必须使用一种或多种配置(调试/发布/...)构建多个项目。
需要将构建的输出复制到一个文件夹 (BuildOutputPath)。有一个默认的 BuildOutputFolder,但对于某些项目,您可以指示输出需要放在一个额外的子文件夹中。
例如:
配置有:--debug--release
这些项目是:
- 项目 1(构建输出文件夹)
- 项目 2(构建输出文件夹)
- Project3 (BuildOutputFolder\Child)
最终结果应如下所示:
\\BuildOutput\
debug\
project1.dll
project2.dll
Child\
Project3.dll
release\
project1.dll
project2.dll
Child\
Project3.dll
我得到了这么远的atm,但无法弄清楚如何覆盖每个项目的OutputPath。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Build" >
<ItemGroup>
<ConfigList Include="Debug" />
<ConfigList Include="Release" />
</ItemGroup>
<PropertyGroup>
<BuildOutputPath>$(MSBuildProjectDirectory)\BuildOutput\</BuildOutputPath>
</PropertyGroup>
<ItemGroup>
<Projects Include="project1.csproj" />
<Projects Include="project2.csproj" />
<Projects Include="project3.csproj" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(Projects)"
BuildInParallel="true"
Properties="Configuration=%(ConfigList.Identity);OutputPath=$(BuildOutputPath)%(ConfigList.Identity)" />
</Target>
</Project>
您将如何在 MSBuild 项目文件中完成此操作?