Project 要素 (MSBuild)Project Element (MSBuild)

MSBuildMSBuild プロジェクト ファイルの必須のルート要素です。Required root element of an MSBuildMSBuild project file.

構文Syntax

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

属性および要素Attributes and Elements

以降のセクションでは、属性、子要素、および親要素について説明します。The following sections describe attributes, child elements, and parent elements.

属性Attributes

属性Attribute 説明Description
DefaultTargets 省略可能な属性です。Optional attribute.

ターゲットが指定されていない場合にビルドのエントリ ポイントとなる 1 つまたは複数の既定のターゲット。The default target or targets to be the entry point of the build if no target has been specified. 複数のターゲットはセミコロン (;) で区切られます。Multiple targets are semi-colon (;) delimited.

DefaultTargets 属性または MSBuildMSBuild コマンド ラインのいずれかで既定のターゲットが指定されていない場合、Import 要素の評価後、エンジンはプロジェクト ファイルの最初のターゲットを実行します。If no default target is specified in either the DefaultTargets attribute or the MSBuildMSBuild command line, the engine executes the first target in the project file after the Import elements have been evaluated.
InitialTargets 省略可能な属性です。Optional attribute.

DefaultTargets 属性またはコマンド ラインで指定されたターゲットの前に実行される 1 つまたは複数の初期ターゲット。The initial target or targets to be run before the targets specified in the DefaultTargets attribute or on the command line. 複数のターゲットはセミコロン (;) で区切られます。Multiple targets are semi-colon (;) delimited.
SDK 省略可能な属性です。Optional attribute. (Visual Studio 2017 以降の .NET Core プロジェクトでのみ利用できます。)(Available only for .NET Core projects in Visual Studio 2017 or later.)

.proj ファイルに追加される暗黙的インポート ステートメントの作成に利用される SDK バージョン。The SDK version to use to create implicit Import statements that are added to the .proj file. たとえば、<Project Sdk="Microsoft.NET.Sdk/1.0.0-RC" /> のようにします。For example, <Project Sdk="Microsoft.NET.Sdk/1.0.0-RC" />.
ToolsVersion 省略可能な属性です。Optional attribute.

MSBuild が $(MSBuildBinPath) と $(MSBuildToolsPath) の値を決定するために使用するツールセットのバージョン。The version of the toolset MSBuild uses to determine the values for $(MSBuildBinPath) and $(MSBuildToolsPath).
TreatAsLocalProperty 省略可能な属性です。Optional attribute.

グローバルとは見なされないプロパティ名。Property names that won't be considered to be global. この属性は、プロジェクトまたはターゲット ファイル、および後続のすべてのインポートに設定されているプロパティ値が特定のコマンド ライン プロパティによってオーバーライドされることを防ぎます。This attribute prevents specific command-line properties from overriding property values that are set in a project or targets file and all subsequent imports. 複数のプロパティはセミコロン (;) で区切られます。Multiple properties are semi-colon (;) delimited.

通常、グローバル プロパティは、プロジェクト ファイルまたはターゲット ファイルで設定されたプロパティ値をオーバーライドします。Normally, global properties override property values that are set in the project or targets file. プロパティが TreatAsLocalProperty 値に一覧表示されている場合、グローバル プロパティ値は、そのファイルと後続のインポートに設定されているプロパティ値をオーバーライドしません。If the property is listed in the TreatAsLocalProperty value, the global property value doesn't override property values that are set in that file and any subsequent imports. 詳細については、「方法 : 同じソース ファイルを異なるオプションでビルドする」を参照してください。For more information, see How to: Build the Same Source Files with Different Options. 注: グローバル プロパティは、コマンド プロンプトで /property (または /p) スイッチを使用して設定します。Note: You set global properties at a command prompt by using the /property (or /p) switch. また、複数プロジェクト ビルドの子プロジェクトのグローバル プロパティは、MSBuild タスクの Properties 属性を使用して設定または変更することもできます。You can also set or modify global properties for child projects in a multi-project build by using the Properties attribute of the MSBuild task. 詳細については、「MSBuild タスク」を参照してください。For more information, see MSBuild Task.
Xmlns 省略可能な属性です。Optional attribute.

xmlns 属性には、"http://schemas.microsoft.com/developer/msbuild/2003" の値を指定する必要があります。When specified, the xmlns attribute must have the value of "http://schemas.microsoft.com/developer/msbuild/2003".

子要素Child Elements

要素Element 説明Description
ChooseChoose 省略可能な要素です。Optional element.

子要素を評価して、ItemGroup 要素および/または PropertyGroup 要素の 1 つのセットを評価対象に選択します。Evaluates child elements to select one set of ItemGroup elements and/or PropertyGroup elements to evaluate.
ImportImport 省略可能な要素です。Optional element.

プロジェクト ファイルが別のプロジェクト ファイルをインポートできるようにします。Enables a project file to import another project file. 1 つのプロジェクトに 0 個以上の Import 要素を含めることができます。There may be zero or more Import elements in a project.
ItemGroupItemGroup 省略可能な要素です。Optional element.

個々の項目の grouping 要素。A grouping element for individual items. 項目は Item 要素を使用して指定されます。Items are specified by using the Item element. 1 つのプロジェクトに 0 個以上の ItemGroup 要素を含めることができます。There may be zero or more ItemGroup elements in a project.
ProjectExtensionsProjectExtensions 省略可能な要素です。Optional element.

MSBuildMSBuild プロジェクト ファイルに MSBuildMSBuild 以外の情報を保持する方法を提供します。Provides a way to persist non-MSBuildMSBuild information in an MSBuildMSBuild project file. 1 つのプロジェクトに 0 個または 1 個の ProjectExtensions 要素を含めることができます。There may be zero or one ProjectExtensions elements in a project.
PropertyGroupPropertyGroup 省略可能な要素です。Optional element.

個々のプロパティの grouping 要素。A grouping element for individual properties. プロパティは Property 要素を使用して指定されます。Properties are specified by using the Property element. 1 つのプロジェクトに 0 個以上の PropertyGroup 要素を含めることができます。There may be zero or more PropertyGroup elements in a project.
TargetTarget 省略可能な要素です。Optional element.

MSBuildMSBuild が順次実行するタスクのセットを格納します。Contains a set of tasks for MSBuildMSBuild to sequentially execute. タスクは Task 要素を使用して指定されます。Tasks are specified by using the Task element. 1 つのプロジェクトに 0 個以上の Target 要素を含めることができます。There may be zero or more Target elements in a project.
UsingTaskUsingTask 省略可能な要素です。Optional element.

MSBuildMSBuild にタスクを登録する方法を提供します。Provides a way to register tasks in MSBuildMSBuild. 1 つのプロジェクトに 0 個以上の UsingTask 要素を含めることができます。There may be zero or more UsingTask elements in a project.

親要素Parent Elements

なし。None.

関連項目See Also

方法 : 最初にビルドするターゲットを指定する How to: Specify Which Target to Build First
Command-Line Reference (コマンド ライン リファレンス) Command-Line Reference
プロジェクト ファイル スキーマ リファレンス Project File Schema Reference
MSBuildMSBuild