Share via


MSBuild 17.0 的新功能

本文說明 MSBuild 17.0 的重大更新。 如需詳細的版本資訊,請參閱 MSBuild 17.0.0

Visual Studio 2022.NET 6.0 隨附 MSBuild 17.0。

已變更的路徑

MSBuild 安裝於每個 Visual Studio 版本底下的 \Current 資料夾中,其可執行檔位於 \Bin 子資料夾中。 例如,隨 Visual Studio 2022 Community 一起安裝的 MSBuild.exe 路徑是 C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe。您也可以使用下列 PowerShell 模組來尋找 MSBuild:vssetup.powershell

已變更的屬性

因為新的版本編號,所以已更新下列 MSBuild 屬性。

  • 這個工具版本的 MSBuildToolsVersion 仍為「最新的」。 組件版本則與 Visual Studio 2017 和 Visual Studio 2019 的一樣,也就是 15.1.0.0。

  • 這個工具版本的 VisualStudioVersion 為 "17.0"

64 位元

MSBuild.exe 先前同時有 32 位元和 64 位元版本,但現在,64 位元版本是預設值。 Visual Studio 2022 會針對所有組建使用 64 位元版本的 MSBuild。 32 位元版本仍然可用,但建議將所有組建切換至 64 位元版本。

對於工作擁有者,這表示當 MSBuild 載入您的工作時,它會嘗試在 64 位元程序中載入工作。 建議您考慮將工作更新為在 64 位元程序中執行,但為了相容性,您可以告知 MSBuild:您的工作只在其 UsingTask 中以 32 位元執行。

效能改善

MSBuild 更快! 此版本的重點是改善許多常見案例的效能。 MSBuild 17.0 可以更快建置較大的專案。

.NET 版本

MSBuild (與 Visual Studio) 現在以 .NET Framework 4.7.2 和 .NET 6.0 為目標。 若要使用新的 MSBuild API 功能,您的組件也必須升級,但現有的程式碼將繼續運作。

記錄

二進位記錄檔比較小而且有更多資訊。

重大變更

  • 在屬性函式中無法再呼叫 GetType() 方法。
  • 適用於 .NET 的 MSBuild 以 .NET 6 為目標。

其他行為變更

  • MSBuildCopyContentTransitively 現在預設為開啟狀態,確保累加組建上的輸出資料夾一致性。

如需此版本中的更多變更,請參閱詳細的版本資訊;如需 MSBuild 版本中可以退出的變更,請參閲變更波浪