.NET 的版本和支援

Microsoft 會推出 .NET 的主要版本、次要版本及服務更新 (修補檔)。 本文說明版本類型、服務更新、SDK 功能範圍、支援期間和支援選項。

注意

如需 .NET Framework 版本設定與支援的相關資訊,請參閱 .NET Framework 生命週期

發行版本類型

每個版本類型的資訊會以 major.minor.patch格式的版本號碼編碼。

例如:

  • .NET 6 和 .NET 7 是主要版本。
  • .NET Core 3.1 是 .NET Core 3.0 主要版本之後的第一個次要版本。
  • .NET Core 5.0.15 是 .NET 5 的第十五個修補檔。

如需已發行的 .NET 版本清單,以及 .NET 推出頻率的相關資訊,請參閱 支援原則

主要版本

主要版本包括新功能、新的公用 API 介面區,以及錯誤 (bug) 修正。 範例包括 .NET 6 和 .NET 7。 由於變更的本質,這些版本預期會有重大變更。 主要版本會與先前的主要版本並存安裝。

次要版本

次要版本也包含新功能、公用 API 介面區,以及錯誤 (bug) 修正,也可能有重大變更。 例如 .NET Core 3.1。 這些和主要版本之間的差異在於變更的程度較小。 從 .NET Core 3.0 升級至 3.1 的應用程式升級程度較小。 次要版本會與先前的次要版本並存安裝。

服務更新

服務更新 (修補程式) 每月提供,而且這些更新同時有安全性和非安全性錯誤 (bug) 修正。 例如,.NET 5.0.8 是 .NET 5 的第八個更新。 這些更新包含安全性修正時,這些會在「週二修補程式日」發行,這一律是當月的第二個星期二。 服務更新預期會維持相容性。 從 .NET Core 3.1 開始,會升級服務更新以移除之前的更新。 例如,3.1 的最新服務更新會在成功安裝時移除先前的 3.1 更新。

功能範圍 (僅限 SDK)

.NET SDK 的版本設定與 .NET 執行階段稍有不同。 為了配合新的 Visual Studio 版本,.NET SDK 更新有時會包含新功能或元件的新版本,例如 MSBuild 和 NuGet。 這些新功能或元件可能與先前 SDK 更新中針對相同主要或次要版本提供的版本不相容。

為了區分這類更新,.NET SDK 會使用功能範圍的概念。 例如,第一個 .NET 5 SDK 是 5.0.100。 此版本對應至 5.0.1xx 功能範圍。 功能範圍是在版本號碼的第三個部分以「一百」為單位的群組中定義。 例如,5.0.101 和 5.0.201 便是位於兩個不同功能帶中的版本,而 5.0.101 和 5.0.199 則位於相同的功能帶。 安裝 .NET SDK 5.0.101 時,如果 SDK 5.1.100 存在,就會從機器中移除它。 在相同的機器上安裝 .NET SDK 5.0.200 時,不會移除 .NET SDK 5.0.101。

如需 .NET SDK 與 Visual Studio 版本之間關聯性的詳細資訊,請參閱 .NET SDK、MSBuild 和 Visual Studio 版本控制

執行階段向前復原和相容性

主要和次要更新會與舊版並存安裝。 以特定 major.minor 版本為目標所建置的應用程式會繼續使用該目標執行階段,即使已安裝較新版本也是如此。 除非您選擇加入這種行為,否則應用程式不會自動向前復原以使用較新的 major.minor 版本執行階段。 以 .NET Core 3.0 為目標所建置的應用程式不會自動開始在 .NET Core 3.1 上執行。 建議您在部署至生產環境之前,先針對較新的主要或次要執行階段版本重建應用程式並進行測試。 如需詳細資訊,請參閱基礎結構相依應用程式向前復原獨立式部署執行階段向前復原

服務更新的處理方式與主要和次要版本不同。 以 .NET 7 為目標的應用程式預設會在 7.0.0 執行階段上執行。 這會在安裝服務更新時自動向前復原,以使用較新的 7.0.1 執行階段。 這種行為是預設值,因為我們想要在安裝安全性修正程式時立即使用,完全不需要採取其他任何動作。 您可以退出此預設向前復原行為。

.NET 版本生命週期

.NET 版本採用現代化生命週期,而不是已用於 Framework 版本的固定生命週期。 採用現代化生命週期的產品具有更類似服務的支援模型,不過支援週期較短,而且版本發行更頻繁。

版本追蹤

版本有兩個支援追蹤:

  • 標準期限支援 (STS) 版本

    會支援這些版本直到下一個主要或次要版本推出後的 6 個月為止。

    範例:

    • .NET 5 是 STS 版本,於 2020 年 11 月發行。 支援 18 個月,直到 2022 年 5 月為止。
    • .NET 7 是 STS 版本,於 2022 年 11 月發行。 支援 18 個月,直到 2024 年 5 月為止。
  • 長期支援 (LTS) 發行版本

    如果該日期較晚,支援這些版本至少 3 年,或下一個 LTS 發行後 1 年。

    範例:

    • .NET Core 3.1 是 LTS 版本,於 2019 年 12 月發行。 支援 3 年,直到 2022 年 12 月為止。
    • .NET 6 是 LTS 版本,於 2021 年 11 月發行。 支援 3 年,直到 2024 年 11 月為止。

LTS 與 STS 之間的版本替代,因此較舊版本支援的時間比更新版本還長。 例如,.NET Core 3.1 是支援到 2022 年 12 月的 LTS 版本。 .NET 5 版本在大約一年後推出,但早在 2022 年 5 月初就停止了支援。

每月提供服務更新,並同時包含安全性和非安全性 (可靠性、相容性和穩定性) 修正。 服務更新會受到支援,直到下一個服務更新發行為止。 服務更新有執行階段向前復原行為。 這表示應用程式預設會在最新安裝的執行階段服務更新上執行。

如何選擇版本

如果您要建置服務,並預期會定期繼續更新服務,則 .NET 7 之類的 STS 版本可能是保持 .NET 最新功能的最佳選項。

如果您要建置將發佈給取用者的用戶端應用程式,穩定性可能比最新功能更為重要。 在取用者可以升級至下一個版本的應用程式之前,可能需要在特定期間支援您的應用程式。 在此情況下,類似 .NET 6 執行階段的 LTS 版本可能是正確的選項。

注意

我們建議升級至最新的 SDK 版本,即使它是 STS 版本,因為它可以以所有可用的執行階段為目標。

支援服務更新

.NET 服務更新會受到支援,直到下一個服務更新發行為止。 發行頻率是每月一次。

您必須定期安裝服務更新,以確保您的應用程式處於安全且支援的狀態。 例如,如果 .NET 7 的最新服務更新是 7.0.8,而且我們會推出 7.0.9,則 7.0.8 不再是最新的更新。 .NET 7 的支援服務等級則會是 7.0.9。

如需每個主要和次要版本的最新服務更新有關的資訊,請參閱 .NET 下載頁面

結束支援

終止支援是指 Microsoft 不再提供產品版本的修正、更新或技術支援的日期。 在此日期之前,請確定您已改用支援的版本。 不支援的版本不會再收到保護應用程式和資料的安全性更新。 如需每個 .NET 版本支援的日期範圍,請參閱 支持原則

受支援的作業系統

.NET 可以在一系列作業系統上執行。 這些作業系統都有其贊助者組織定義的生命週期 (例如 Microsoft、Red Hat 或 Apple)。 新增和移除作業系統版本的支援時,我們會將這些生命週期排程納入考量。

作業系統版本超出支援時,我們會停止測試該版本並提供該版本的支援。 使用者必須繼續進行支援的作業系統版本,才能取得支援。

如需詳細資訊,請參閱 .NET OS 生命週期原則

取得支援

您可以選擇 Microsoft 協助支援與社群支援。

Microsoft 支援服務

如需協助的支援,請連絡 Microsoft 技術支援人員

您必須達到支援的服務等級 (最新的可用服務更新),才能獲得支援。 如果系統正在執行 .NET 7,而且 7.0.8 服務更新已發行,則必須在第一個步驟安裝 7.0.8。

社群支援

如需社群支援,請參閱社群頁面