分享方式:


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.targetsMicrosoft.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 自動匯入此檔案。 如需詳細資訊,請參閱自訂組建

另請參閱