我有一个非常大的复杂应用程序,在一个解决方案中有一个智能客户端前端,在另一个解决方案中有一个Web服务层。我们在TFS 2010中使用2个团队构建定义来构建解决方案。我们仍在使用MS Build脚本而不是新的基于工作流的模板。
我们如何使用单个构建定义来构建两个解决方案。我们对MS Build脚本中的任何技巧或转移到新的工作流模板都持开放态度。
答案 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>
您可能还必须修改构建定义的工作空间映射,以包含两个解决方案的源。