Reputation: 1994
I have a pretty large complicated application that has a smart client front end in one solution and a web services layer in another solution. We use 2 team build definitions in TFS 2010 to build the solutions. We are still using MS Build scripts not the new workflow based templates.
How can we use a single build definition to build both solutions. We are open to either tricks inside MS Build scripts or moving to the new workflow templates.
Upvotes: 2
Views: 4411
Reputation: 2721
You can build multiple solutions from a single team build project definition by definitng multiple SolutionToBuild
items in your TFSBuild.proj MSBuild project file.
<ItemGroup>
<SolutionToBuild Include="$(SolutionRoot)\A\A.sln" />
<SolutionToBuild Include="$(SolutionRoot)\B\B.sln" />
</ItemGroup>
You may also have to modify the build definition's workspace mapping to include sources for both solutions.
Upvotes: 2
Reputation: 3815
You can simply set two Solutions to build by creating them in an item group if I am understanding what you are trying to do
<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>
You can also do it inside any build step with:
<!-- Build the deployment solution. -->
<MSBuild Projects="$(SolutionRoot)\$(SuiteSourceBranchRoot)/Company.Deployment.sln" Properties="Configuration=Release;" />
Upvotes: 2