次の方法で共有


MSBuild の予約済みおよび既知のプロパティ

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 で導入されました。 MSBuildExtensionsPathMSBuildExtensionsPath32の既定値に違いはありません。 環境変数 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 を 指します。" MSBuildExtensionsPathMSBuildExtensionsPath64も参照してください。

このプロパティの最後の円記号は含めないでください。
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 名高い \Program Files フォルダーの下にある MSBuild サブフォルダーのパス。 64 ビット コンピューターの場合、このパスは常に \Program Files フォルダーを指します。 32 ビット コンピューターの場合、このパスは空白です。 MSBuildExtensionsPathMSBuildExtensionsPath32も参照してください。

このプロパティの最後の円記号は含めないでください。
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 予約済み true MSBuild が対話形式で実行されている場合は、ユーザー入力を許可します。 この設定は、 -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;CMSBuildDefaultTargetsプロパティ値があります。

<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 で導入されました。 MSBuildExtensionsPathMSBuildExtensionsPath32の既定値に違いはありません。 環境変数 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 を 指します。" MSBuildExtensionsPathMSBuildExtensionsPath64も参照してください。

このプロパティの最後の円記号は含めないでください。
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 名高い \Program Files フォルダーの下にある MSBuild サブフォルダーのパス。 64 ビット コンピューターの場合、このパスは常に \Program Files フォルダーを指します。 32 ビット コンピューターの場合、このパスは空白です。 MSBuildExtensionsPathMSBuildExtensionsPath32も参照してください。

このプロパティの最後の円記号は含めないでください。
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 予約済み true MSBuild が対話形式で実行されている場合は、ユーザー入力を許可します。 この設定は、 -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;CMSBuildDefaultTargetsプロパティ値があります。

<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
  • 然も無くば

こちらも参照ください