Team Foundation ビルドの構成ファイルについて
ここでは、アップグレード テンプレートで使用される構成ファイルについて説明します。 アップグレード テンプレートの詳細については、「アップグレード テンプレートを使用してビルドを定義する」を参照してください。 MSBuild プロジェクト ファイルの作成ウィザードなどのこれらのファイルの作成に使用される機能は、Visual Studio Team System 2008 でのみ使用できます。
アップグレード テンプレート ビルドを処理する際、Team Foundation ビルドは MSBuild エンジンを使用します。 この処理は、MSBuild プロジェクト ファイルのスキーマに従って記述された一連の XML ファイルによって制御されます。 これらの XML ファイルに含まれる要素のうち、ビルド処理に影響するものは次のとおりです。
Target 要素 Target 要素は、プロジェクトのビルド方法を定義します。 Target 要素には、MSBuild によって連続的に実行される一連のタスクが含まれています。 ターゲットの詳細については、「MSBuild ターゲット」を参照してください。
Task 要素 Task 要素は、ビルド処理中に実行されるコードを指定します。 タスクの詳細については、「MSBuild タスク」を参照してください。
MSBuild には、ビルド処理をカスタマイズするために使用できる一般的なタスクのコレクションが組み込まれています。 詳細については、「MSBuild タスク リファレンス」を参照してください。
UsingTask 要素 UsingTask 要素は、ビルド処理で使用されるタスクを含むアセンブリを指定します。
MSBuild のスクリプト ファイルに、他のスクリプト ファイルをインポートすることができます。 たとえば、あるファイルで共通の構成を定義し、それを他の構成にインクルードできます。 詳細については、「方法 : 複数のプロジェクト ファイルで同じターゲットを使用する」を参照してください。
Team Foundation ビルドの処理は、次の 3 つのファイルによって制御されます。
Microsoft.TeamFoundation.Build.targets
このファイルは、Team Foundation ビルドに組み込まれている一連の既定のタスクおよびターゲットを定義します。 たとえば、Clean、DropBuild、Compile などがこれに該当します。 各ターゲットには、そのターゲットのために呼び出されるタスクが含まれています。 このファイルのターゲットの中には、他のターゲットに依存し、特定の順序で実行される一連のターゲットを形成しているものがあります。 たとえば、Compile というターゲットは BeforeCompile というターゲットに依存しているため、Compile の前に BeforeCompile で定義されているすべてのタスクが実行されます。 このファイルで定義されているすべてのターゲットが、ビルドのたびに実行されるわけではありません。 たとえば、デスクトップ ビルドでは Clean ターゲットは実行されません。
Microsoft.TeamFoundation.Build.targets は、Visual Studio アプリケーション ライフサイクル管理 に組み込まれており、<ドライブ名>:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\ ディレクトリに格納されています。 このファイルのコピーは、1 台のコンピューターに 1 つだけ存在し、そのコンピューターで実行されるすべてのビルドで共有されます。
重要
Microsoft.TeamFoundation.Build.targets ファイルは変更しないでください。 このファイルを変更すると、各ビルド定義に影響が生じます。 ビルド定義をカスタマイズするには、定義に関連付けられている TfsBuild.proj ファイルを変更します。
TfsBuild.proj
このファイルは Team Foundation ビルドの主要な構成ファイルであり、 1 つのビルド定義と関連付けたり、複数のビルド定義で共有したりできます。 MSBuild プロジェクト ファイルの作成ウィザードで指定する構成パラメーターは、このファイルに保存されます。 これには、チーム プロジェクト、ビルド ブレークで作成された作業項目の種類、ビルドの構成、ビルドするソリューションなどが含まれます。 このファイルは、新しいビルド定義のプロジェクト ファイルが作成されると、MSBuild プロジェクト ファイルの作成ウィザードによって作成されます。 詳細については、「基本的なビルド定義の作成」を参照してください。 このファイルは Microsoft.TeamFoundation.Build.targets をインポートし、MSBuild に渡されます。 このファイルに変更を加えると、ファイルに関連付けられているすべてのビルド定義のビルドに影響が及びます。 既定では、このファイルは、 $\MyProject\TeamBuildTypes\BuildDefinition フォルダーのソース管理に格納されています。MyProject はチーム プロジェクトの名前、BuildDefinition はビルド定義の名前を示します。 [ビルド定義] ダイアログ ボックスで別の格納場所を指定することもできます。
TfsBuild.proj ファイルには、コメント テキストに使用例が含まれています。 使用例では、SolutionToBuild 要素でカスタム ターゲットを呼び出す方法や、他の要素にカスタム プロパティを渡す方法などが示されています。
TfsBuild.rsp
MSBuild プロジェクト ファイルの作成ウィザードによって生成される空のファイルです。 このファイルを使用すると、カスタム logger を指定したり、MSBuild のプロパティをオーバーライドすることができます。 詳細については、「MSBuild 応答ファイル」を参照してください。
ターゲット、プロパティ、およびタスク
以下のトピックでは、Microsoft.TeamFoundation.Build.targets で定義されている既定のターゲット、タスク、およびプロパティについて説明します。
カスタマイズ可能な Team Foundation のビルド ターゲット
Microsoft.TeamFoundation.Build.targets に定義され、カスタム タスクを記述してオーバーライドできるターゲットの一覧を示します。 ビルド処理をカスタマイズする方法の例を示します。カスタマイズ可能な Team Foundation のビルド プロパティ
TfsBuild.proj ファイルでオーバーライドできる Microsoft.TeamFoundation.Build.targets で定義されている既定のプロパティの一覧を示します。 また、その使用例も示します。Team Foundation ビルドのタスク
ビルド定義をカスタマイズするために TfsBuild.proj ファイルで変更できる Microsoft.TeamFoundation.Build.targets で定義されている既定のタスクの一覧を示します。 また、その使用例も示します。