Project 要素 (MSBuild)

MSBuild プロジェクト ファイルの必須のルート要素です。

<Project InitialTargets="TargetA;TargetB"
         DefaultTargets="TargetC;TargetD"
         TreatAsLocalProperty="PropertyA;PropertyB"
         ToolsVersion=<version number>
         xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    <Choose>... </Choose>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Target>... </Target>
    <UsingTask.../>
    <ProjectExtensions>... </ProjectExtensions>
    <Import... />
</Project>

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

説明

DefaultTargets

省略可能な属性です。

ターゲットを指定しなかった場合に、ビルドのエントリ ポイントとなる既定のターゲットです。 ターゲットを複数指定する場合には、セミコロン (;) で区切ります。

既定のターゲットを DefaultTargets 属性と MSBuild コマンド ラインのいずれにも指定しなかった場合には、プロジェクト ファイル内で Import 要素を評価した後の最初のターゲットが実行されます。

InitialTargets

省略可能な属性です。

DefaultTargets 属性またはコマンド ラインで指定されたターゲットの前に最初に実行する必要がある 1 つ以上のターゲットです。 ターゲットを複数指定する場合には、セミコロン (;) で区切ります。

ToolsVersion

省略可能な属性です。

$(MSBuildBinPath) および $(MSBuildToolsPath) の値を決定するために、MSBuild ツールセット バージョンによって使用されます。

TreatAsLocalProperty

省略可能な属性です。

グローバルと見なされないプロパティ名。 この属性は、プロジェクト ファイルまたはターゲットと後続のすべてのインポート設定オーバーライドのプロパティ値から特定のコマンド ラインのプロパティを防ぎます。 複数のプロパティは、セミコロン (;) で区切ります。

通常、グローバル プロパティは、プロジェクトまたはターゲット ファイルで設定されたプロパティ値をオーバーライドします。 プロパティが TreatAsLocalProperty の値に一覧表示され、グローバル プロパティ値は、そのファイルを後続のインポートで設定されたプロパティ値をオーバーライドしません。 詳細については、「方法 : 同じソース ファイルを異なるオプションでビルドする」を参照してください。

注意

/property (または) /p使用してコマンド プロンプトのセットのグローバル プロパティ切り替えます。または設定できます。また、複数プロジェクトのビルドの子プロジェクトのグローバル プロパティをMSBuildの Properties の属性を使用して変更するにはのままにします。詳細については、「MSBuild タスク」を参照してください。

Xmlns

必須の属性です。

xmlns 属性の値は、"https://schemas.microsoft.com/developer/msbuild/2003" であることが必要です。

子要素

要素

説明

Choose

省略可能な要素です。

子要素を評価して、評価対象となる一連の ItemGroup 要素や PropertyGroup 要素を選択します。

[インポート]

省略可能な要素です。

プロジェクト ファイルに別のプロジェクト ファイルをインポートします。 プロジェクトには 0 個以上の Import 要素を設定できます。

ItemGroup

省略可能な要素です。

個別のアイテムをグループ化するための要素です。 アイテムは、Item 要素を使用して指定します。 プロジェクトには 0 個以上の ItemGroup 要素を設定できます。

ProjectExtensions

省略可能な要素です。

MSBuild プロジェクト ファイル内に MSBuild に直接関係のない情報を保持します。 プロジェクトには 0 個以上の ProjectExtensions 要素を設定できます。

PropertyGroup

省略可能な要素です。

個別のプロパティをグループ化するための要素です。 プロパティは、Property 要素を使用して指定します。 プロジェクトには 0 個以上の PropertyGroup 要素を設定できます。

Target

省略可能な要素です。

MSBuild を連続的に実行するための一連のタスクを格納します。 タスクは、Task 要素を使用して指定します。 プロジェクトには 0 個以上の Target 要素を設定できます。

UsingTask

省略可能な要素です。

MSBuild 内にタスクを登録します。 プロジェクトには 0 個以上の UsingTask 要素を設定できます。

親要素

なし。

参照

処理手順

方法 : 最初にビルドするターゲットを指定する

関連項目

MSBuild コマンド ライン リファレンス

概念

MSBuild プロジェクト ファイル スキーマ リファレンス

その他の技術情報

MSBuild