方法 : SolutionToBuild 項目グループをカスタマイズする

更新 : 2007 年 11 月

Team Foundation ビルドのプロジェクト ファイルである TFSBuild.proj は、SolutionToBuild 項目グループのビルドに対してプロパティとターゲットを渡すことで、カスタマイズできます。SolutionToBuild 項目グループのビルドに対してソリューションの追加や削除を行うこともできます。TFSBuild.proj ファイルの詳細については、「Team Foundation ビルドの構成ファイルについて 」を参照してください。

必要なアクセス許可

これらの手順を完了するには、[ビルドを管理します] および [ワークスペースの管理] のアクセス許可が [許可] に設定されている必要があります。また、[チェックイン] および [チェックアウト] のアクセス許可も [許可] に設定されている必要があります。

Team Foundation ビルド プロジェクト ファイルを編集する

TFSBuild.proj ファイルを編集する前に、ソース管理からチェックアウトする必要があります。

TFSBuild.proj ファイルを編集するには

  1. [表示] メニューの [その他のウィンドウ] をポイントし、[ソース管理エクスプローラ] をクリックします。

  2. ソース管理エクスプローラの [フォルダ] ペインでチーム プロジェクトを展開し、[TeamBuildTypes] を選択します。

  3. TFSBuild.proj の最新バージョンを取得するため、[TeamBuildType] フォルダを右クリックし、[最新バージョンの取得] をクリックします。

    この操作によって、使用可能なファイルが編集用にチェックアウトされます。

  4. 表示ペインで、変更するビルド定義の名前をダブルクリックし、TFSBuild.proj を右クリックして、[編集用にチェックアウト] をクリックします。[チェックアウト] ダイアログ ボックスで、[なし - 共有チェックアウトを許可します] を選択し、[チェックアウト] をクリックします。

    TFSBuild.proj ファイルの横に赤いチェックマークが表示され、ファイルのソース管理状態を示します。

  5. TFSBuild.proj ファイルをダブルクリックして、このファイルを Visual Studio XML エディタで開きます。

SolutionToBuild 項目グループにプロパティを渡す

Team Foundation ビルドには、2 つの予約済みのプロパティがあり、このプロパティを使用してビルド定義をカスタマイズできます。

  • Team Foundation ビルドが Clean ターゲットを呼び出すと、CustomPropertiesForClean によって、すべてのソリューションにカスタム値が渡されます。

  • Team Foundation ビルドが既定のターゲット (通常は Build) を呼び出すと、CustomPropertiesForBuild によって、すべてのソリューションにカスタム値が渡されます。

SolutionToBuild 項目グループにプロパティを渡すには

  1. TeamBuild.proj ファイル内の <SolutionToBuild> タグを検索します。

  2. 既定のターゲットにカスタム プロパティを追加するには、<SolutionToBuild> タグと </SolutionToBuild> タグの間に次の内容を入力します。次に、例を示します。

    <SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln">
      <CustomPropertiesForBuild>
        Context=TeamBuild;RootDirectory=$(SolutionDir)
      </CustomPropertiesForBuild>
    </SolutionToBuild>
    

    この XML は、既定の SolutionDir プロパティに対して、ビルド プロパティである RootDirectory を指定します。

    同じ構文を使用して、CustomPropertiesForClean プロパティにカスタム プロパティを渡します。

  3. 必要に応じて、メタデータ内にプロパティを指定することで、各 SolutionToBuild 項目にカスタム プロパティを渡すこともできます。

    次に例を示します。

    <SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln">
      <Properties>
        OutDir=$(BinariesRoot)\$(Solution)\$(Platform)\$(Configuration\
      </Properties>
    </SolutionToBuild>
    

    この XML は、TFSBuild.proj ファイルに関連付けられているビルド定義の出力ディレクトリを指定します。

    Bb399127.alert_note(ja-jp,VS.90).gifメモ :

    CustomPropertiesForBuild タグと CustomPropertiesForClean タグを追加すると、Visual Studio で XML スキーマ検証警告が表示されます。この警告は無視してかまいません。

SolutionToBuild 項目グループにソリューションを追加または削除する

SolutionToBuild 項目グループを編集して、Team Foundation ビルドのプロジェクト ファイルである TFSBuild.proj に関連付けられているビルド定義によってビルドされるソリューションの追加または削除を行うことができます。

ビルドするソリューションを追加または削除するには

  1. TeamBuild.proj ファイル内の <SolutionToBuild> タグを検索します。

    1 つのソリューションだけをビルドするように設定されているビルド定義の場合、SolutionToBuild エントリは次のような XML になります。

    <ItemGroup>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln" />
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
    </ItemGroup>
    
  2. 別のソリューションを追加するには、開始の <ItemGroup> タグと終了の </ItemGroup> タグの間に、別の <SolutionToBuild></SolutionToBuild> タグ セットを追加します。

    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln" />
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySecondSolution.sln" />  <Targets></Targets>  <Properties></Properties></SolutionToBuild>
    
  3. ソリューションを削除するには、ビルドしないソリューションに関する <SolutionToBuild></SolutionToBuild> タグと、そのタグの間に記述されている内容を削除します。

SolutionToBuild 項目グループでカスタム ターゲットを呼び出す

メタデータ内にカスタム ターゲットを指定することで、各 SolutionToBuild 項目のカスタム ターゲットを呼び出すことができます。

SolutionToBuild 項目グループでカスタム ターゲットを呼び出すには

  1. TeamBuild.proj ファイル内の <SolutionToBuild> タグを検索します。

  2. 次の構文を使用して、ターゲットを呼び出し、プロパティを渡します。

    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln">
      <Targets>MyCustomTarget1;MyCustomTarget2</Targets>
      <Properties>Property1=Value1;PropertyTwo=Value2</Properties>
    </SolutionToBuild>
    

    この XML はターゲット MyCustomTarget1 と MyCustomTarget2 を呼び出し、プロパティ Property1 と Property2 を渡します。

参照

処理手順

方法 : ビルド定義を作成する

その他の技術情報

Team Foundation ビルドのターゲット、タスク、およびプロパティ