共用方式為


.NET SDK、MSBuild 和 Visual Studio 版本控制

.NET SDK 的版本控制,以及它與 Visual Studio 和 MSBuild 的關聯性,可能會令人困惑。 MSBuild 搭配 Visual Studio 版本,但也包含在 .NET SDK 中。 MSBuild 和 Visual Studio 具有可與 SDK 具有共同作用的最低版本,並且不會載入比該最低版本還舊的 Visual Studio 版本。

版本控制

.NET SDK 版本的第一個部分會比對包含的 .NET 版本、預設執行目標及目標。 功能區從 1 開始,並針對每季度的 Visual Studio 次要版本增加。 修補程式版本會隨著每個月的服務更新遞增。

例如,7.0.203 版隨附於 .NET 7,這是從 7.0.100 首次推出之後的第二個次要 Visual Studio 版本,且是從 7.0.200 發行後的第三個修補程式。

生命週期

SDK 的支援時間範圍通常符合所包含的 Visual Studio 版本。

SDK 版本 MSBuild/Visual Studio 版本 出貨日期 生命週期
2.1.5xx 15.9 '18 年 11 月 2021 年 8 月
2.1.8xx 16.2 (No VS) 2019 年 7 月 2021 年 8 月
3.1.1xx 16.4 2019 年 12 月 2021 年 10 月
3.1.4xx 16.7 2020 年 8 月 2022 年 12 月
5.0.1xx 16.8 2020 年 11 月 2021 年 3 月
5.0.2xx 16.9 2021 年 3 月 2022 年 5 月
5.0.3xx 16.10 2021 年 5 月 2021 年 8 月
5.0.4xx 16.11 2021 年 8 月 2022 年 5 月
6.0.1xx 17.0 2021 年 11 月 2024 年 11 月1
6.0.2xx 17.1 2022 年 2 月 2022 年 5 月
6.0.3xx 17.23 2022 年 5 月 2023 年 10 月
6.0.4xx 17.3 2022 年 8 月 2024 年 11 月2
7.0.1xx 17.4 2022 年 11 月 2024 年 5 月
7.0.2xx 17.53 2023 年 2 月 2023 年 5 月
7.0.3xx 17.6 2023 年 5 月 2024 年 5 月
7.0.4xx 17.7 2023 年 8 月 2024 年 5 月
8.0.1xx 17.8 2023 年 11 月 11 月 25 日1
8.0.2xx 17.93 2024 年 2 月 2024 年 5 月
8.0.3xx 17.10 2024 年 5 月 待定
8.0.4xx 17.11 8 月 24 日 11 月 25 日2

注意

只有 Visual Studio 17.0+ 才正式支援以 net6.0 為目標設定。 只有 Visual Studio 17.4+ 才正式支援以 net7.0 為目標設定。 只有 Visual Studio 17.8+ 才正式支援以 net8.0 為目標設定。

1 .1xx .NET SDK 功能區在主要 .NET 版本的生命週期中都受到支援。 在延長支援期間,僅支援 Linux 的安全性修正和最低高優先順序的非安全性修正。 若要深入了解此延長支援的原因,請參閱來源組建支援 (英文)。

2 .4xx .NET SDK 功能區在符合執行階段的整個生命週期內均受到支援 (作為獨立安裝)。

3 6.0.300、7.0.200 和 8.0.200 需要較新的 Visual Studio 版本。 如需詳細資訊,請參閱支援原則 (部分機器翻譯)。

Visual Studio 2019 生命週期

Visual Studio 2022 生命週期

目標及支援規則

從 .NET SDK 7.0.100 和 .NET SDK 6.0.300 開始,已制定有關特定版本的 .NET SDK 將在哪些版本的 MSBuild 和 Visual Studio 中執行的原則。 原則為:

  • 每個新的 TargetFramework 都需要新的 Visual Studio 版本或新的 dotnet 版本。
  • 支援新 TargetFramework 的第一個 Visual Studio 版本成為 Roslyn API 表面、MSBuild 目標、來源產生器、分析器等 SDK 功能區的基礎。
  • 支援新 TargetFramework 的新 .NET SDK 的第一個版本仍可與 Visual Studio 的之前版本一起搭配使用,以允許四分之一的工具和基礎結構 (例如動作和管線) 移轉。
SDK Visual Studio 版本
SDK 隨附於
最低 Visual Studio 版本 其中最大 TargetFramework
最低 Visual Studio 版本
dotnet 中的最大 TargetFramework
6.0.100 17.0 16.11 Net5.0 Net6.0
6.0.200 17.1 17.0 Net6.0 Net6.0
6.0.300 17.2 17.0 Net6.0 Net6.0
6.0.400 17.3 17.0 Net6.0 Net6.0
7.0.100 17.4 17.3 Net6.0 Net7.0
7.0.200 17.5 17.4 Net7.0 Net7.0
7.0.300 17.6 17.41 Net7.0 Net7.0
7.0.400 17.7 17.4 Net7.0 Net7.0
8.0.100 17.8 17.7 Net7.0 Net8.0
8.0.200 17.9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0
8.0.400 17.11 17.8 Net8.0 Net8.0

注意

表格描述了從 .NET SDK 7.0.100 和 .NET SDK 6.0.300 開始,將如何套用這些版本控制規則。 它也描述如果該原則當時已存在,其將如何套用於之前發佈的 .NET SDK 版本。 但是,之前版本的 SDK 需求沒有改變,即 Visual Studio for .NET SDK 6.0.100 或 6.0.200 所需的最低版本仍然是 16.10。

1 7.0.300 中針對 Blazor 和 Razor 開發的中斷性變更需要 Visual Studio 版本 17.6 或更新版本。 如需詳細資訊,請參閱 dotnet/razor 問題 8718 (英文)。

若要確保一致的工具,您應該盡可能使用dotnet build而不是msbuild建置應用程式。

預覽版本控制

.NET SDK 的主要版本通常會在 Visual Studio 預覽版發行後幾天內發行。 雖然可能有其他組合可運作,但只會測試最新發行的預覽版並正式支援。 下表顯示了每個 .NET 預覽版本在發佈之前,測試哪個 Visual Studio 版本。

SDK 預覽版本 Visual Studio 版本
9.0.100 預覽版 1 17.10 預覽版 1
9.0.100 預覽版 2 17.10 預覽版 2
9.0.100 預覽版 3 17.10 預覽版 3
9.0.100 Preview 4 17.11 Preview 1
9.0.100 Preview 5 17.11 Preview 2
9.0.100 Preview 6 17.11 Preview 3

參考