【问题标题】:TFS MSBuild: Combining parallel builds and sequential builds in a single TFS .proj fileTFS MSBuild:在单个 TFS .proj 文件中组合并行构建和顺序构建
【发布时间】:2011-04-29 11:05:21
【问题描述】:

我会布置场景:

  1. 我们有一个 TFS 构建 .proj,它依次构建 3 个依赖项解决方案。
  2. 然后它会并行构建大约 100 个不相关的解决方案。

这在 .net 3.5 下似乎可以正常工作,但是自从我们移至 4.0 后,似乎依赖解决方案是并行构建的,这会导致问题。

我总是可以做一个

<Exec Command="C:\PATH\TO\MSBUILD SOLUTION1">
<Exec Command="C:\PATH\TO\MSBUILD SOLUTION2">
<Exec Command="C:\PATH\TO\MSBUILD SOLUTION3">

等等,但这似乎有点乱。

所以我的问题是:我如何告诉 MSBUILD 按顺序构建一些解决方案,然后并行构建其他负载?

(我们当前的构建模式如下)

<ItemGroup>
  <SolutionToBuild0 Include="$(SolutionRoot)\Solutions\MSBuildTasks\MSbuildTasks.sln"/>

  <SolutionToBuild1 Include="$(SolutionRoot)\Solutions\Level1\Level1.sln" />

  <SolutionToBuild2 Include="$(SolutionRoot)\Solutions\Level2\Level2.sln" />

  <SolutionToBuild3 Include="$(SolutionRoot)\Solutions\xxx.Reporting\xxx.Reporting.sln />
</ItemGroup>

<MSBuild Projects="@(SolutionToBuild0)" Targets="Build" Properties="TeamBuildConstants=$(TeamBuildConstants)" BuildInParallel="false" />

<MSBuild Projects="@(SolutionToBuild1)" Targets="Build" Properties="TeamBuildConstants=$(TeamBuildConstants)" BuildInParallel="false" />
<MSBuild Projects="@(SolutionToBuild2)" Targets="Build" Properties="TeamBuildConstants=$(TeamBuildConstants)" BuildInParallel="false" />
<MSBuild Projects="@(SolutionToBuild3)" Targets="Build" Properties="TeamBuildConstants=$(TeamBuildConstants)" BuildInParallel="false" />

<SolutionToBuild Include="$(SolutionRoot)\Solutions\xxx.LocationImporter\xxx.LocationImporter.sln" />
<SolutionToBuild Include="$(SolutionRoot)\xxx\Dev\Source\server_and_common2008.sln" />

`

【问题讨论】:

    标签: c# tfs msbuild


    【解决方案1】:

    您提到了解决方案依赖性,我想知道您是否可以使用项目引用来解决您的问题?如果您可以使用项目引用指定项目的依赖关系,那么 MSBuild 将确定并行构建需要什么,不需要什么。

    看看你的问题是否可以通过 Team Build 论坛中的回答来解决:

    http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/80b15488-771e-4b0f-92a3-0175a639286e

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2015-08-15
      • 2011-09-15
      • 2015-08-18
      • 2019-08-02
      • 1970-01-01
      相关资源
      最近更新 更多