2011-06-21 12 views
2

私は、あるソリューションにはスマートクライアントのフロントエンドを、もう1つのソリューションにはWebサービスレイヤを持つかなり大きな複雑なアプリケーションがあります。 TFS 2010の2つのチームビルド定義を使用してソリューションを構築します。私たちはまだ新しいワークフローベースのテンプレートではなく、MS Buildスクリプトを使用しています。1つのTFSチームビルド定義から2つのソリューションを構築する方法

どのようにして1つのビルド定義を使用して両方のソリューションを構築できますか。私たちは、MSビルドスクリプト内でのトリックか、新しいワークフローテンプレートへの移行に慣れています。

答えて

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> 

をやろうとしているものを理解しています場合は、単に項目グループでそれらを作成することによって、構築するために、2つのソリューションを設定することができます。

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

TFSBuild.proj MSBuildプロジェクトファイルに複数のSolutionToBuildアイテムを定義することで、1つのチームビルドプロジェクト定義から複数のソリューションを構築できます。

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

また、両方のソリューションのソースを組み込むようにビルド定義のワークスペースマッピングを変更する必要があります。

関連する問題