MSBuild .targets
ファイル
MSBuild には、一般的なシナリオの項目、プロパティ、ターゲット、タスクを含む複数 .targets
のファイルが含まれています。 これらのファイルは、保守を簡素化し読みやすくするために、ほとんどの Visual Studio プロジェクト ファイルに自動的にインポートされます。
SDK スタイルのプロジェクト (プロジェクト <Project Sdk="Microsoft.NET.Sdk">
など) は、SDK を参照しないプロジェクトとは異なる方法でファイルをインポート .targets
します。 SDK スタイルのプロジェクトの場合、インポートされた .targets
ファイルは参照する SDK によって管理されるため、プロジェクト ファイルに表示されません。 ただし、SDK スタイルのプロジェクトは、ファイルのメイン本文の前後に標準インポートがある SDK スタイル以外のプロジェクトと同じであるため、標準.targets
ファイルがそれらのプロジェクトにインポートされていると言っても正確です。
.NET SDK ターゲットは、Windows 上などC:\Program Files\dotnet\sdk\{version}\Sdks\Microsoft.NET.Sdk\targets\
Microsoft.NET.Sdk
、.NET SDK と共にインストールされます。 SDK の完全な一覧とインポートする.targets
ファイルについては、「.NET プロジェクト SDK」を参照してください。
SDK を指定しないプロジェクトでは、通常、ビルド プロセスを定義するために 1 つ以上の .targets
ファイルを明示的にインポートします。 たとえば、以前のバージョンの Visual Studio によって作成された C# プロジェクトは、Microsoft.Common.targets をインポートする Microsoft.CSharp.targets をインポート します。 C# プロジェクト自体は、そのプロジェクトに固有の項目とプロパティを定義しますが、C# プロジェクトの標準ビルド 規則はインポートされた .targets
ファイルで定義されます。
この値は $(MSBuildToolsPath)
、これらの共通 .targets
ファイルのパスを指定します。 .NET プロジェクトの場合、パスは通常 {Visual Studio installation folder}\MSBuild\Current\Bin\{architecture}
です。
Note
独自のターゲットを作成する方法については、ターゲットに関する記事を参照してください。 Import
要素を使用してプロジェクト ファイルを他のプロジェクト ファイルに挿入する方法については、「Import 要素 (MSBuild)」と「方法:複数のプロジェクト ファイルで同じターゲットを使用する」を参照してください。
共通 .targets
ファイル
.targets ファイル | 説明 |
---|---|
Microsoft.Common.targets | Visual Basic および C# プロジェクトの標準ビルド プロセスの手順を定義します。 次のステートメントが含まれている Microsoft.CSharp.targets や Microsoft.VisualBasic.targets ファイルによってインポートされます: <Import Project="Microsoft.Common.targets" /> |
Microsoft.CSharp.targets | Visual C# プロジェクトの標準ビルド プロセスの手順を定義します。 Visual C# プロジェクト ファイル ( .csproj ) によってインポートされます。 |
Microsoft.VisualBasic.targets | Visual Basic プロジェクトの標準ビルド プロセスの手順を定義します。 Visual Basic プロジェクト ファイル ( .vbproj ) によってインポートされます。 |
ファイルを開いて表示すると、他 .targets
のファイル (通常 Microsoft.{language}.CurrentVersion.targets
はクロスターゲット シナリオ Microsoft.{language}.CrossTargeting.targets
) のラッパーが薄いことがわかります。
Directory.Build.targets
Directory.Build.targets は、ディレクトリの下のプロジェクトをカスタマイズできるようにする、ユーザー定義のファイルです。 ImportDirectoryBuildTargets プロパティを false に設定しない限り、このファイルは Microsoft.Common.targets から自動的にインポートされます。 詳細については、「ビルドのカスタマイズ」を参照してください。