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>
プロパティ | 予約または既知 | 説明 | 例 |
---|---|---|---|
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\<バージョン番号>")。 このプロパティは、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 |
予約されています。 | MSBuild が対話形式で実行されている場合は true であり、ユーザー入力が許可されます。 この設定は、-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 |
予約されています。 | DefaultTargets 要素の Project 属性で指定されるターゲットの完全な一覧。 たとえば、次の Project 要素の MSBuildDefaultTargets プロパティの値は A;B;C となります。<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 より前の場合)。Full はデスクトップの .NET Framework 上で MSBuild が実行されていることを示し、Core は .NET Core 上で MSBuild が実行されていることを示し (たとえば dotnet build で)、Mono は Mono 上で MSBuild が実行されていることを示します。 |
Full |
MSBuildSDKsPath |
既知 | SDK を検索するために MSBuild によって使用されるパス。 | 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 ファイルを作成する必要はありません。 代わりに、次の例に示すように、c:\traversal.proj という名前の 1 つのプロジェクトだけが作成されます。<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 |
既知 |
プロパティ | 予約または既知 | 説明 | 例 |
---|---|---|---|
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\<バージョン番号>")。 このプロパティは、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 |
予約されています。 | MSBuild が対話形式で実行されている場合は true であり、ユーザー入力が許可されます。 この設定は、-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 |
予約されています。 | DefaultTargets 要素の Project 属性で指定されるターゲットの完全な一覧。 たとえば、次の Project 要素の MSBuildDefaultTargets プロパティの値は A;B;C となります。<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 より前の場合)。Full はデスクトップの .NET Framework 上で MSBuild が実行されていることを示し、Core は .NET Core 上で MSBuild が実行されていることを示し (たとえば dotnet build で)、Mono は Mono 上で MSBuild が実行されていることを示します。 |
Full |
MSBuildStartupDirectory |
予約されています。 | MSBuild が呼び出されるフォルダーの絶対パス。 このプロパティを使用すると、プロジェクト ツリーの特定の場所にすべての内容をビルドできます。各ディレクトリに <dirs>.proj ファイルを作成する必要はありません。 代わりに、次の例に示すように、c:\traversal.proj という名前の 1 つのプロジェクトだけが作成されます。<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 |
既知 | SDK を検索するために MSBuild によって使用されるパス。 | 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++ プロジェクトに固有のプロパティ
次のプロパティは、さまざまな C++ ツールセットのバージョンとターゲット オペレーティング システムの C++ MSBuild インポート ファイル (.props
ファイル、.targets
ファイルなど) へのパスを表します。 これらのフォルダー内のファイルは C++ ビルド インフラストラクチャを表しており、MSBuild を使用して C++ プロジェクトをビルドするために不可欠です。
プロパティ | 予約または既知 | 説明 | 例 |
---|---|---|---|
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
- Target
- PropertyGroup
- Output
- ItemGroup
- UsingTask
- ProjectExtensions
- OnError
- ImportGroup
- Choose
- When
- Otherwise