MSBuild には、プロジェクト ファイルと MSBuild バイナリに関する情報を格納する定義済みのプロパティのセットが用意されています。 これらのプロパティは、他の MSBuild プロパティと同じ方法で評価されます。 たとえば、 MSBuildProjectFile プロパティを使用するには、 $(MSBuildProjectFile)を入力します。
MSBuild では、次の表の値を使用して、予約済みプロパティと既知のプロパティを事前に定義します。 予約済みプロパティはオーバーライドできません。また、高度なシナリオを除き、ほとんどの既知のプロパティをオーバーライドしないでください。
予約済みプロパティと既知のプロパティ
このセクションの表に、MSBuild の定義済みプロパティを示します。 この表の列例は、 C:\Source\Repos\ConsoleApp1\ConsoleApp1にあると見なされる次のプロジェクト ファイルの例に関連しており、MSBuild が特別なコマンド ライン オプションなしで呼び出された場合に、プロジェクト ファイルでこれらのプロパティにアクセスしたときの値の例を示しています。
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
| プロパティ | 予約済みまたは既知 | Description | Example | 
|---|---|---|---|
| FrameworkSDKRoot | 名高い | .NET Framework ツールのルート フォルダーへのパス。 | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\ | 
| InnerBuildProperty | 名高い | マルチターゲット ビルド ディメンションを定義するプロパティ名を指定します (現在のビルドが グラフ ビルドの場合にのみ適用されます)。 | TargetFramework | 
| InnerBuildPropertyValues | 名高い | InnerBuildPropertyの使用可能な値を保持するプロパティ名を指定します (現在のビルドがグラフ ビルドの場合にのみ適用されます)。 | TargetFrameworks | 
| IsGraphBuild | 名高い | Trueこれが グラフビルドの場合。つまり、-graphBuildオプションが有効です。 このオプションは、MSBuild がプロジェクト グラフを構築し、ビルドすることを意味します。 グラフを作成するには、フォームの依存関係に対するプロジェクト参照を識別する必要があります。 そのグラフのビルドでは、従来の MSBuild スケジュールとは異なり、参照するプロジェクトの前にプロジェクト参照をビルドしようとします。 | |
| MSBuildAssemblyVersion | 予約済み | プロジェクトのビルドに使用される MSBuild アセンブリのバージョン。 | 16.0 | 
| MSBuildBinPath | 予約済み | 現在使用されている MSBuild バイナリが配置されているフォルダーの絶対パス (例 : C:\Windows\Microsoft.Net\Framework\<versionNumber>)。 このプロパティは、MSBuild ディレクトリ内のファイルを参照する必要がある場合に便利です。 このプロパティの最後の円記号は含めないでください。 | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin | 
| MSBuildDisableFeaturesFromVersion | 予約済み | 変更ウェーブを管理するために MSBuild および Microsoft SDK によって使用されます。 | |
| MSBuildExtensionsPath | 名高い | .NET Framework 4 で導入されました。 MSBuildExtensionsPathとMSBuildExtensionsPath32の既定値に違いはありません。 環境変数MSBUILDLEGACYEXTENSIONSPATHを null 以外の値に設定して、以前のバージョンの既定値のMSBuildExtensionsPathの動作を有効にすることができます。.NET Framework 3.5 以前では、 MSBuildExtensionsPathの既定値は、現在のプロセスのビット数に応じて、 \Program Files\ または \Program Files(x86) フォルダーの下にある MSBuild サブフォルダーのパスを指しています。 たとえば、64 ビット コンピューター上の 32 ビット プロセスの場合、このプロパティは \Program Files (x86) フォルダーを指します。 64 ビット コンピューター上の 64 ビット プロセスの場合、このプロパティは \Program Files フォルダーを指します。このプロパティの最後の円記号は含めないでください。 この場所は、カスタム ターゲット ファイルを配置するのに便利な場所です。 たとえば、ターゲット ファイルを \Program Files\MSBuild\MyFiles\Northwind.targets にインストールし、次の XML コードを使用してプロジェクト ファイルにインポートできます。 <Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/> | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild | 
| MSBuildExtensionsPath32 | 名高い | \Program Files または \Program Files(x86) フォルダーの下にある MSBuild サブフォルダーのパス。 パスは常に、32 ビット コンピューター上の 32 ビット \Program Files (x86) フォルダーと 64 ビット コンピューター上の \Program Files を 指します。" MSBuildExtensionsPathとMSBuildExtensionsPath64も参照してください。このプロパティの最後の円記号は含めないでください。 | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild | 
| MSBuildExtensionsPath64 | 名高い | \Program Files フォルダーの下にある MSBuild サブフォルダーのパス。 64 ビット コンピューターの場合、このパスは常に \Program Files フォルダーを指します。 32 ビット コンピューターの場合、このパスは空白です。 MSBuildExtensionsPathとMSBuildExtensionsPath32も参照してください。このプロパティの最後の円記号は含めないでください。 | C:\Program Files\MSBuild | 
| MSBuildFileVersion | 予約済み | プロジェクトのビルドに使用される MSBuild アセンブリの 4 部構成バージョン。 | 16.11.0.30701 | 
| MSBuildFrameworkToolsPath | 名高い | 現在実行中の MSBuild がビルドされた .NET Framework ツールへのパス。末尾にスラッシュが付きます。 | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ | 
| MSBuildFrameworkToolsPath32 | 名高い | 現在実行中の MSBuild と同じフレームワーク バージョンの .NET Framework ツールの 32 ビット バージョンへのパス。末尾にスラッシュが付きます。 | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ | 
| MSBuildFrameworkToolsPath64 | 名高い | 現在実行中の MSBuild と同じフレームワーク バージョンの .NET Framework ツールの 64 ビット バージョンへのパス。末尾にはスラッシュが付きます。 | C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ | 
| MSBuildInteractive | 予約済み | trueMSBuild が対話形式で実行されている場合は、ユーザー入力を許可します。 この設定は、-interactiveコマンド ライン オプションによって制御されます。 | false | 
| MSBuildLastTaskResult | 予約済み | true前のタスクがエラーなしで完了した場合は (警告があった場合でも)、前のタスクにエラーが発生した場合はfalse。 通常、タスクでエラーが発生した場合、エラーはそのプロジェクトで最後に発生します。 したがって、次のシナリオを除き、このプロパティの値はfalseされません。- Task 要素 (MSBuild) の ContinueOnError属性がWarnAndContinue(またはtrue) またはErrorAndContinueに設定されている場合。- Targetに 子要素として OnError 要素 (MSBuild) がある場合。 | true | 
| MSBuildNodeCount | 予約済み | ビルド時に使用される同時実行プロセスの最大数。 これは、コマンド ラインで -maxcpucount に指定した値です。 値を指定せずに -maxcpucount を指定した場合、 MSBuildNodeCountはコンピューター内のプロセッサの数を指定します。 詳細については、「 コマンド ライン リファレンス 」および「 複数のプロジェクトを並列でビルドする」を参照してください。 | 1 | 
| MSBuildOverrideTasksPath | 名高い | 標準タスクのカスタム バージョンを提供するために使用できる、 .overridetasksファイルを検索する場所。 
              MSBuild タスクを参照してください。パスに最後の円記号を含めないでください。 | |
| MSBuildProgramFiles32 | 予約済み | 32 ビット プログラム フォルダーの場所。たとえば、 C:\Program Files (x86) などです。 このプロパティの最後の円記号は含めないでください。 | C:\Program Files (x86) | 
| MSBuildProjectDefaultTargets | 予約済み | Project要素のDefaultTargets属性で指定されているターゲットの完全な一覧。 たとえば、次のProject要素には、A;B;CのMSBuildDefaultTargetsプロパティ値があります。<Project DefaultTargets="A;B;C" > | Build | 
| MSBuildProjectDirectory | 予約済み | プロジェクト ファイルが配置されているディレクトリの絶対パス ( C:\MyCompany\MyProduct など)。 このプロパティの最後の円記号は含めないでください。 | C:\Source\Repos\ConsoleApp1\ConsoleApp1 | 
| MSBuildProjectDirectoryNoRoot | 予約済み | ルート ドライブを除く、 MSBuildProjectDirectoryプロパティの値。このプロパティの最後の円記号は含めないでください。 | Source\Repos\ConsoleApp1\ConsoleApp1 | 
| MSBuildProjectExtension | 予約済み | プロジェクト ファイルのファイル名拡張子 (ピリオドを含む)。たとえば、 .proj です。 | .csproj | 
| MSBuildProjectFile | 予約済み | ファイル名拡張子を含む、プロジェクト ファイルの完全なファイル名。たとえば、 MyApp.proj です。 | ConsoleApp1.csproj | 
| MSBuildProjectFullPath | 予約済み | ファイル名拡張子を含む、プロジェクト ファイルの絶対パスと完全なファイル名。たとえば、 C:\MyCompany\MyProduct\MyApp.proj です。 | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj | 
| MSBuildProjectName | 予約済み | ファイル名拡張子のないプロジェクト ファイルのファイル名。たとえば、 MyApp です。 | ConsoleApp1 | 
| MSBuildRuntimeType | 予約済み | 現在実行中のランタイムの型。 MSBuild 15 で導入されました。 値は未定義 (MSBuild 15 より前)、MSBuild がデスクトップ .NET Framework で実行されていることを示す Full、MSBuild が .NET Core (dotnet buildなど) で実行されていることを示すCore、または MSBuild が Mono で実行されていることを示すMonoがあります。 | Full | 
| MSBuildSDKsPath | 名高い | MSBuild が SDK を検索するために使用するパス。 | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks | 
| MSBuildSemanticVersion | 予約済み | プロジェクトのビルドに使用される MSBuild アセンブリの完全な semver 2.0 バージョン。 | 16.11.0-preview-21302-05+5e37cc992 | 
| MSBuildStartupDirectory | 予約済み | MSBuild が呼び出されるフォルダーの絶対パス。 このプロパティを使用すると、すべてのディレクトリに <dirs>.proj ファイルを作成することなく、プロジェクト ツリー内の特定のポイントの下にすべてをビルドできます。 代わりに、次に示すように、1 つのプロジェクト ( 例: c:\traversal.proj) があります。 <Project ...>     <ItemGroup>         <ProjectFiles              Include="$            (MSBuildStartupDirectory)            **\*.csproj"/>     </ItemGroup>     <Target Name="build">         <MSBuild             Projects="@(ProjectFiles)"/>     </Target> </Project>ツリー内の任意の時点でビルドするには、次のように入力します。 msbuild c:\traversal.projこのプロパティの最後の円記号は含めないでください。 | c:\Source\Repos\ConsoleApp1 | 
| MSBuildThisFile | 予約済み | MSBuildThisFileFullPathのファイル名とファイル拡張子の部分。 | ConsoleApp1.csproj | 
| MSBuildThisFileDirectory | 予約済み | MSBuildThisFileFullPathのディレクトリ部分。パスに最後の円記号を含めます。 | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ | 
| MSBuildThisFileDirectoryNoRoot | 予約済み | ルート ドライブを除く、 MSBuildThisFileFullPathのディレクトリ部分。パスに最後の円記号を含めます。 | Source\Repos\ConsoleApp1\ConsoleApp1\ | 
| MSBuildThisFileExtension | 予約済み | MSBuildThisFileFullPathのファイル名拡張子部分。 | .csproj | 
| MSBuildThisFileFullPath | 予約済み | 実行中のターゲットを含むプロジェクトまたはターゲット ファイルの絶対パス。 ヒント: ターゲット ファイルには、元のプロジェクト ファイルに対する相対パスではなく、ターゲット ファイルに相対パスを指定できます。 | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj | 
| MSBuildThisFileName | 予約済み | ファイル名拡張子のない MSBuildThisFileFullPathのファイル名部分。 | ConsoleApp1 | 
| MSBuildToolsPath | 予約済み | MSBuildToolsVersionの値に関連付けられている MSBuild バージョンのインストール パス。パスに最後の円記号を含めないでください。 このプロパティはオーバーライドできません。 | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\ | 
| MSBuildToolsPath32 | 名高い | MSBuildToolsVersionの値に関連付けられている 32 ビット MSBuild バージョンのインストール パス。パスに最後の円記号を含めないでください。 このプロパティはオーバーライドできません。 | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin | 
| MSBuildToolsPath64 | 名高い | MSBuildToolsVersionの値に関連付けられている 64 ビット MSBuild バージョンのインストール パス。パスに最後の円記号を含めないでください。 このプロパティはオーバーライドできません。 | C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64 | 
| MSBuildToolsVersion | 予約済み | プロジェクトのビルドに使用される MSBuild ツールセットのバージョン。 注: MSBuild ツールセットは、アプリケーションのビルドに使用されるタスク、ターゲット、およびツールで構成されます。 ツールには、 csc.exeやvbc.exe などのコンパイラが含 まれます 。 詳細については、「 ツールセット (ToolsVersion)」および 「標準ツールセット構成とカスタム ツールセット構成」を参照してください。 | Current | 
| MSBuildUserExtensionsPath | 名高い | このパスは、MSBuild インストール フォルダーの場所を提供します。 リセットして、ローカルのユーザーごとのカスタマイズを提供できます。 
              「ローカル ビルドをカスタマイズする」を参照してください。 パスに最後の円記号を含めないでください。 | |
| MSBuildVersion | 予約済み | プロジェクトのビルドに使用される MSBuild のバージョン。 このプロパティはオーバーライドできません。それ以外の場合は、エラー メッセージ MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified.が返されます。 | 16.11.0 | 
| MSBuildWarningsAsErrors | 名高い | エラーとして扱う警告コードの一覧。 | MSB1234;MSB5678 | 
| MSBuildWarningsAsMessages | 名高い | メッセージとして扱う警告コードの一覧。 | MSB1234;MSB5678 | 
| MSBuildWarningsNotAsErrors | 名高い | -warnAsErrorスイッチが他のすべての警告をエラーに昇格するように設定されている場合でも、エラーに昇格してはならない警告コードの一覧。 true でない場合は効果がないことに注意してください。 | MSB1234;MSB5678 | 
| OS | 名高い | Windows では、これはホスト オペレーティング システムから継承されます。 指定できる値は、"Windows_NT" と "Unix" です。は、Windows 以外のオペレーティング システムで異なる値に設定できます。 | |
| RoslynTargetsPath | 名高い | Roslyn コンパイラへのパス。 | C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn | 
| SDK35ToolsPath | 名高い | .NET Framework 3.5 ツールへのパス。 | |
| SDK40ToolsPath | 名高い | .NET Framework 4.0 ツールへのパス。 | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ | 
| VsInstallRoot | 名高い | Visual Studio のインストール フォルダー。 | C:\Program Files (x86)\Microsoft Visual Studio\2019 | 
| WindowsSDK80Path | 名高い | 
| プロパティ | 予約済みまたは既知 | Description | Example | 
|---|---|---|---|
| FrameworkSDKRoot | 名高い | .NET Framework ツールのルート フォルダーへのパス。 | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\ | 
| InnerBuildProperty | 名高い | マルチターゲット ビルド ディメンションを定義するプロパティ名を指定します (現在のビルドが グラフ ビルドの場合にのみ適用されます)。 | TargetFramework | 
| InnerBuildPropertyValues | 名高い | InnerBuildPropertyの使用可能な値を保持するプロパティ名を指定します (現在のビルドがグラフ ビルドの場合にのみ適用されます)。 | TargetFrameworks | 
| IsGraphBuild | 名高い | Trueこれが グラフビルドの場合。つまり、-graphBuildオプションが有効です。 このオプションは、MSBuild がプロジェクト グラフを構築し、ビルドすることを意味します。 グラフを作成するには、フォームの依存関係に対するプロジェクト参照を識別する必要があります。 そのグラフのビルドでは、従来の MSBuild スケジュールとは異なり、参照するプロジェクトの前にプロジェクト参照をビルドしようとします。 | |
| MSBuildAssemblyVersion | 予約済み | プロジェクトのビルドに使用される MSBuild アセンブリのバージョン。 | 17.0 | 
| MSBuildBinPath | 予約済み | 現在使用されている MSBuild バイナリが配置されているフォルダーの絶対パス (例 : C:\Windows\Microsoft.Net\Framework\<versionNumber>)。 このプロパティは、MSBuild ディレクトリ内のファイルを参照する必要がある場合に便利です。 このプロパティの最後の円記号は含めないでください。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 | 
| MSBuildDisableFeaturesFromVersion | 予約済み | 変更ウェーブを管理するために MSBuild および Microsoft SDK によって使用されます。 | |
| MSBuildExtensionsPath | 名高い | .NET Framework 4 で導入されました。 MSBuildExtensionsPathとMSBuildExtensionsPath32の既定値に違いはありません。 環境変数MSBUILDLEGACYEXTENSIONSPATHを null 以外の値に設定して、以前のバージョンの既定値のMSBuildExtensionsPathの動作を有効にすることができます。.NET Framework 3.5 以前では、 MSBuildExtensionsPathの既定値は、現在のプロセスのビット数に応じて、 \Program Files\ または \Program Files(x86) フォルダーの下にある MSBuild サブフォルダーのパスを指しています。 たとえば、64 ビット コンピューター上の 32 ビット プロセスの場合、このプロパティは \Program Files (x86) フォルダーを指します。 64 ビット コンピューター上の 64 ビット プロセスの場合、このプロパティは \Program Files フォルダーを指します。このプロパティの最後の円記号は含めないでください。 この場所は、カスタム ターゲット ファイルを配置するのに便利な場所です。 たとえば、ターゲット ファイルを \Program Files\MSBuild\MyFiles\Northwind.targets にインストールし、次の XML コードを使用してプロジェクト ファイルにインポートできます。 <Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/> | C:\Program Files\Microsoft Visual Studio\2022\MSBuild | 
| MSBuildExtensionsPath32 | 名高い | \Program Files または \Program Files(x86) フォルダーの下にある MSBuild サブフォルダーのパス。 パスは常に、32 ビット コンピューター上の 32 ビット \Program Files (x86) フォルダーと 64 ビット コンピューター上の \Program Files を 指します。" MSBuildExtensionsPathとMSBuildExtensionsPath64も参照してください。このプロパティの最後の円記号は含めないでください。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild | 
| MSBuildExtensionsPath64 | 名高い | \Program Files フォルダーの下にある MSBuild サブフォルダーのパス。 64 ビット コンピューターの場合、このパスは常に \Program Files フォルダーを指します。 32 ビット コンピューターの場合、このパスは空白です。 MSBuildExtensionsPathとMSBuildExtensionsPath32も参照してください。このプロパティの最後の円記号は含めないでください。 | C:\Program Files\MSBuild | 
| MSBuildFileVersion | 予約済み | プロジェクトのビルドに使用される MSBuild アセンブリの 4 部構成バージョン。 | 17.4.0.46505 | 
| MSBuildFrameworkToolsPath | 名高い | 現在実行中の MSBuild がビルドされた .NET Framework ツールへのパス。末尾にスラッシュが付きます。 | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ | 
| MSBuildFrameworkToolsPath32 | 名高い | 現在実行中の MSBuild と同じフレームワーク バージョンの .NET Framework ツールの 32 ビット バージョンへのパス。末尾にスラッシュが付きます。 | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ | 
| MSBuildFrameworkToolsPath64 | 名高い | 現在実行中の MSBuild と同じフレームワーク バージョンの .NET Framework ツールの 64 ビット バージョンへのパス。末尾にはスラッシュが付きます。 | C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ | 
| MSBuildInteractive | 予約済み | trueMSBuild が対話形式で実行されている場合は、ユーザー入力を許可します。 この設定は、-interactiveコマンド ライン オプションによって制御されます。 | false | 
| MSBuildLastTaskResult | 予約済み | true前のタスクがエラーなしで完了した場合は (警告があった場合でも)、前のタスクにエラーが発生した場合はfalse。 通常、タスクでエラーが発生した場合、エラーはそのプロジェクトで最後に発生します。 したがって、次のシナリオを除き、このプロパティの値はfalseされません。- Task 要素 (MSBuild) の ContinueOnError属性がWarnAndContinue(またはtrue) またはErrorAndContinueに設定されている場合。- Targetに 子要素として OnError 要素 (MSBuild) がある場合。 | true | 
| MSBuildNodeCount | 予約済み | ビルド時に使用される同時実行プロセスの最大数。 これは、コマンド ラインで -maxcpucount に指定した値です。 値を指定せずに -maxcpucount を指定した場合、 MSBuildNodeCountはコンピューター内のプロセッサの数を指定します。 詳細については、「 コマンド ライン リファレンス 」および「 複数のプロジェクトを並列でビルドする」を参照してください。 | 1 | 
| MSBuildOverrideTasksPath | 名高い | 標準タスクのカスタム バージョンを提供するために使用できる、 .overridetasksファイルを検索する場所。 
              MSBuild タスクを参照してください。パスに最後の円記号を含めないでください。 | |
| MSBuildProgramFiles32 | 予約済み | 32 ビット プログラム フォルダーの場所。たとえば、 C:\Program Files (x86) などです。 このプロパティの最後の円記号は含めないでください。 | C:\Program Files (x86) | 
| MSBuildProjectDefaultTargets | 予約済み | Project要素のDefaultTargets属性で指定されているターゲットの完全な一覧。 たとえば、次のProject要素には、A;B;CのMSBuildDefaultTargetsプロパティ値があります。<Project DefaultTargets="A;B;C" > | Build | 
| MSBuildProjectDirectory | 予約済み | プロジェクト ファイルが配置されているディレクトリの絶対パス ( C:\MyCompany\MyProduct など)。 このプロパティの最後の円記号は含めないでください。 | C:\Source\Repos\ConsoleApp1\ConsoleApp1 | 
| MSBuildProjectDirectoryNoRoot | 予約済み | ルート ドライブを除く、 MSBuildProjectDirectoryプロパティの値。このプロパティの最後の円記号は含めないでください。 | Source\Repos\ConsoleApp1\ConsoleApp1 | 
| MSBuildProjectExtension | 予約済み | プロジェクト ファイルのファイル名拡張子 (ピリオドを含む)。たとえば、 .proj です。 | .csproj | 
| MSBuildProjectFile | 予約済み | ファイル名拡張子を含む、プロジェクト ファイルの完全なファイル名。たとえば、 MyApp.proj です。 | ConsoleApp1.csproj | 
| MSBuildProjectFullPath | 予約済み | ファイル名拡張子を含む、プロジェクト ファイルの絶対パスと完全なファイル名。たとえば、 C:\MyCompany\MyProduct\MyApp.proj です。 | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj | 
| MSBuildProjectName | 予約済み | ファイル名拡張子のないプロジェクト ファイルのファイル名。たとえば、 MyApp です。 | ConsoleApp1 | 
| MSBuildRuntimeType | 予約済み | 現在実行中のランタイムの型。 MSBuild 15 で導入されました。 値は未定義 (MSBuild 15 より前)、MSBuild がデスクトップ .NET Framework で実行されていることを示す Full、MSBuild が .NET Core (dotnet buildなど) で実行されていることを示すCore、または MSBuild が Mono で実行されていることを示すMonoがあります。 | Full | 
| MSBuildStartupDirectory | 予約済み | MSBuild が呼び出されるフォルダーの絶対パス。 このプロパティを使用すると、すべてのディレクトリに <dirs>.proj ファイルを作成することなく、プロジェクト ツリー内の特定のポイントの下にすべてをビルドできます。 代わりに、次に示すように、1 つのプロジェクト ( 例: c:\traversal.proj) があります。 <Project ...>     <ItemGroup>         <ProjectFiles              Include="$            (MSBuildStartupDirectory)            **\*.csproj"/>     </ItemGroup>     <Target Name="build">         <MSBuild             Projects="@(ProjectFiles)"/>     </Target> </Project>ツリー内の任意の時点でビルドするには、次のように入力します。 msbuild c:\traversal.projこのプロパティの最後の円記号は含めないでください。 | c:\Source\Repos\ConsoleApp1 | 
| MSBuildThisFile | 予約済み | MSBuildThisFileFullPathのファイル名とファイル拡張子の部分。 | ConsoleApp1.csproj | 
| MSBuildThisFileDirectory | 予約済み | MSBuildThisFileFullPathのディレクトリ部分。パスに最後の円記号を含めます。 | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ | 
| MSBuildThisFileDirectoryNoRoot | 予約済み | ルート ドライブを除く、 MSBuildThisFileFullPathのディレクトリ部分。パスに最後の円記号を含めます。 | Source\Repos\ConsoleApp1\ConsoleApp1\ | 
| MSBuildThisFileExtension | 予約済み | MSBuildThisFileFullPathのファイル名拡張子部分。 | .csproj | 
| MSBuildThisFileFullPath | 予約済み | 実行中のターゲットを含むプロジェクトまたはターゲット ファイルの絶対パス。 ヒント: ターゲット ファイルには、元のプロジェクト ファイルに対する相対パスではなく、ターゲット ファイルに相対パスを指定できます。 | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj | 
| MSBuildThisFileName | 予約済み | ファイル名拡張子のない MSBuildThisFileFullPathのファイル名部分。 | ConsoleApp1 | 
| MSBuildToolsPath | 予約済み | MSBuildToolsVersionの値に関連付けられている MSBuild バージョンのインストール パス。パスに最後の円記号を含めないでください。 このプロパティはオーバーライドできません。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 | 
| MSBuildToolsPath32 | 名高い | MSBuildToolsVersionの値に関連付けられている 32 ビット MSBuild バージョンのインストール パス。パスに最後の円記号を含めないでください。 このプロパティはオーバーライドできません。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin | 
| MSBuildToolsPath64 | 名高い | MSBuildToolsVersionの値に関連付けられている 64 ビット MSBuild バージョンのインストール パス。パスに最後の円記号を含めないでください。 このプロパティはオーバーライドできません。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 | 
| MSBuildToolsVersion | 予約済み | プロジェクトのビルドに使用される MSBuild ツールセットのバージョン。 注: MSBuild ツールセットは、アプリケーションのビルドに使用されるタスク、ターゲット、およびツールで構成されます。 ツールには、 csc.exeやvbc.exe などのコンパイラが含 まれます 。 詳細については、「 ツールセット (ToolsVersion)」および 「標準ツールセット構成とカスタム ツールセット構成」を参照してください。 | Current | 
| MSBuildSDKsPath | 名高い | MSBuild が SDK を検索するために使用するパス。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks | 
| MSBuildSemanticVersion | 予約済み | プロジェクトのビルドに使用される MSBuild アセンブリの完全な semver 2.0 バージョン。 | 17.4.0-preview-22465-05+6033e4c95 | 
| MSBuildUserExtensionsPath | 名高い | このパスは、MSBuild インストール フォルダーの場所を提供します。 リセットして、ローカルのユーザーごとのカスタマイズを提供できます。 
              「ローカル ビルドをカスタマイズする」を参照してください。 パスに最後の円記号を含めないでください。 | |
| MSBuildVersion | 予約済み | プロジェクトのビルドに使用される MSBuild のバージョン。 このプロパティはオーバーライドできません。それ以外の場合は、エラー メッセージ MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified.が返されます。 | 17.4.0 | 
| MSBuildWarningsAsErrors | 名高い | エラーとして扱う警告コードの一覧。 | MSB1234;MSB5678 | 
| MSBuildWarningsAsMessages | 名高い | メッセージとして扱う警告コードの一覧。 | MSB1234;MSB5678 | 
| MSBuildWarningsNotAsErrors | 名高い | -warnAsErrorスイッチが他のすべての警告をエラーに昇格するように設定されている場合でも、エラーに昇格してはならない警告コードの一覧。 true でない場合は効果がないことに注意してください。 | MSB1234;MSB5678 | 
| OS | 名高い | Windows では、これはホスト オペレーティング システムから継承されます。 指定できる値は、"Windows_NT" と "Unix" です。は、Windows 以外のオペレーティング システムで異なる値に設定できます。 | |
| RoslynTargetsPath | 名高い | Roslyn コンパイラのターゲットへのパス。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn | 
| SDK35ToolsPath | 名高い | .NET Framework 3.5 ツールへのパス。 | |
| SDK40ToolsPath | 名高い | .NET Framework 4.0 ツールへのパス。 | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ | 
| VsInstallRoot | 名高い | Visual Studio のインストール フォルダー。 | C:\Program Files\Microsoft Visual Studio\2022 | 
| WindowsSDK80Path | 名高い | Windows 8 SDK へのパス。 | 
C++ プロジェクトに固有のプロパティ
次のプロパティは、さまざまな MSVC ビルド ツール (ツールセット) バージョンとターゲット オペレーティング システムの C++ MSBuild インポート ファイル ( .props ファイルや .targets ファイルなど) へのパスを表します。 これらのフォルダー内のファイルは C++ ビルド インフラストラクチャを表しており、MSBuild を使用して C++ プロジェクトをビルドするために不可欠です。
| プロパティ | 予約済みまたは既知 | Description | Example | 
|---|---|---|---|
| AndroidTargetsPath | 名高い | Android ビルド用の C++ MSBuild インポート ファイルへのパス。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\ | 
| iOSTargetsPath | 名高い | iOS ビルド用の C++ MSBuild インポート ファイルへのパス。 | C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\ | 
| VCTargetsPath | 名高い | C++ ビルド システムをサポートする C++ MSBuild ファイルへのパス。 | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\ | 
| VCTargetsPath10 | 名高い | Visual Studio 2010 ツールセットをサポートする C++ MSBuild ファイルへのパス。 | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\ | 
| VCTargetsPath11 | 名高い | Visual Studio 2012 (V110) ツールセットの MSBuild インポート ファイルへのパス。 | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\ | 
| VCTargetsPath12 | 名高い | Visual Studio 2013 (V120) ツールセットの MSBuild インポート ファイルへのパス。 | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\ | 
| VCTargetsPath14 | 名高い | Visual Studio 2015 (V140) ツールセットの MSBuild インポート ファイルへのパス。 | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\ | 
MSBuild 要素と競合する名前
上記に加えて、MSBuild 言語要素に対応する名前は、ユーザー定義のプロパティ、項目、または項目のメタデータには使用できません。
- VisualStudioProject
- 目標
- PropertyGroup
- アウトプット
- ItemGroup
- UsingTask
- ProjectExtensions
- OnError
- ImportGroup
- Choose
- When
- 然も無くば