如何从单个TFS团队构建定义构建2个解决方案

时间:2011-06-21 19:50:27

标签: msbuild tfs2010 tfsbuild

我有一个非常大的复杂应用程序,在一个解决方案中有一个智能客户端前端,在另一个解决方案中有一个Web服务层。我们在TFS 2010中使用2个团队构建定义来构建解决方案。我们仍在使用MS Build脚本而不是新的基于工作流的模板。

我们如何使用单个构建定义来构建两个解决方案。我们对MS Build脚本中的任何技巧或转移到新的工作流模板都持开放态度。

2 个答案:

答案 0 :(得分:2)

如果我理解你要做什么,你可以通过在项目组中创建两个解决方案来设置

    <SolutionToBuild Include="$(BuildProjectFolderPath)/../../$(SuiteSourceBranchRoot)/MyCompany.Suite.sln">
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
    <SolutionToBuild Include="$(BuildProjectFolderPath)/../../$(SuiteSourceBranchRoot)/MyCompany.Another.sln">
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
  </ItemGroup>

你也可以在任何构建步骤中使用:

<!-- Build the deployment solution. -->
<MSBuild Projects="$(SolutionRoot)\$(SuiteSourceBranchRoot)/Company.Deployment.sln" Properties="Configuration=Release;" />

答案 1 :(得分:2)

您可以通过定义TFSBuild.proj MSBuild项目文件中的多个SolutionToBuild项,从单个团队构建项目定义构建多个解决方案。

<ItemGroup>
  <SolutionToBuild Include="$(SolutionRoot)\A\A.sln" />
  <SolutionToBuild Include="$(SolutionRoot)\B\B.sln" />
</ItemGroup>

您可能还必须修改构建定义的工作空间映射,以包含两个解决方案的源。