MSBuild .targets
檔案
MSBuild 包含數 .targets
個檔案,其中包含常見案例的專案、屬性、目標和工作。 這些檔案會自動匯入大部分的 Visual Studio 專案檔,以簡化維護和可讀性。
相較於未參考 SDK 的專案,SDK 樣式專案(類似 <Project Sdk="Microsoft.NET.Sdk">
的專案)會以不同的方式匯 .targets
入檔案。 針對 SDK 樣式專案,您不會在項目檔中看到匯入的 .targets
檔案,因為這些匯入是由您參考的 SDK 所管理。 不過,SDK 樣式專案相當於在檔案主體前後採用標準匯入的非 SDK 樣式專案,因此,表示標準 .targets
檔案會匯入這些專案仍然正確。
.NET SDK 目標會隨 .NET SDK 一起安裝,例如,適用於 C:\Program Files\dotnet\sdk\{version}\Sdks\Microsoft.NET.Sdk\targets\
Microsoft.NET.Sdk
Windows 上的 。 如需 SDK 的完整清單及其匯入的 .targets
檔案,請參閱 .NET 專案 SDK。
未指定 SDK 的專案通常會明確地匯入一或多個 .targets
檔案來定義其建置程式。 例如,舊版 Visual Studio 所建立的 C# 專案會匯 入 Microsoft.CSharp.targets,其會匯入 Microsoft.Common.targets。 C# 專案本身會定義該專案特有的專案和屬性,但 C# 專案的標準建置規則定義於匯入 .targets
的檔案中。
值 $(MSBuildToolsPath)
會指定這些通用 .targets
檔案的路徑。 針對 .NET 項目,路徑通常是 {Visual Studio installation folder}\MSBuild\Current\Bin\{architecture}
。
注意
如需如何自行建立目標的詳細資訊,請參閱目標。 如需如何使用 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 自動匯入此檔案。 如需詳細資訊,請參閱自訂組建。