.NET Framework、.NET Core 和 .NET 5+ 的產品生命週期
阿新 • • 發佈:2020-06-18
# .NET Framework、.NET Core 和 .NET 5+ 的產品生命週期
本文整理記錄了 .NET Framework、.NET Core 和 .NET 各個版本的產品支援週期和作業系統相容性。
早於 .NET Framework 2.0 和 .NET Core 2.1 的 .NET 版本以及 .NET Core 2.2、.NET Core 3.0 已經停止了任何形式的支援,因此本文不做討論。
> 相關文章:
> - .NET Framework、.NET Core 和 .NET 5+ 的產品生命週期(本文)
> - [Visual Studio 的產品生命週期](https://www.cnblogs.com/vxchin/p/lifecycle-of-visual-studio.html)
> - [DevExpress 各個版本與 .NET、Visual Studio 的版本相容性](https://www.cnblogs.com/vxchin/p/compatibilities-of-devexpress-versions.html)
## .NET 版本說明
- .NET Framework 4.5 是可替換計算機上的 .NET Framework 4 的就地更新,同樣,.NET Framework 4.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2 和 4.8 是對 .NET Framework 4.5 的就地更新。 就地更新意味著它們使用相同的執行時版本,但是程式集版本會更新,並且包括新型別和成員。 安裝其中一個更新後,.NET Framework 4、.NET Framework 4.5、.NET Framework 4.6 或 .NET Framework 4.7 應用應繼續執行,而無需重新編譯。 但是,反過來則不行。 建議不要在較早版本的 .NET Framework 上執行面向更高版本的 .NET Framework 的應用。 例如,建議在 .NET Framework 4.5 上執行面向 .NET Framework 4.6 的應用。(參見 [版本 4.5 及更高版本的備註](https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies#remarks-for-version-45-and-later))
- .NET Core 為一個全新的跨平臺框架,支援 Windows、Linux 和 macOS 等多種平臺,[以 MIT 協議完全開源](https://github.com/dotnet/core)。.NET Core 最早[於 2014 年公佈](https://devblogs.microsoft.com/dotnet/introducing-net-core/),首個版本 .NET Core 1.0 [釋出於 2016 年](https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/)。隨著版本的演進,.NET Core 不斷加入 .NET Framework 原有的功能,直到 [.NET Core 3.1](https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/),完成這一程序。剩餘少量 .NET Core [不支援的 .NET Framework 技術](https://docs.microsoft.com/zh-cn/dotnet/core/porting/net-framework-tech-unavailable) 不再向 .NET Core 移植。
- .NET Core 3.1 之後,隨著技術移植程序的結束,.NET Core 的後續版本將作為 .NET Framework 和 .NET Core 的[繼任者](https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/),移除 "Core" 字樣直接稱作 ".NET",[版本號自 ".NET 5" 開始](https://devblogs.microsoft.com/dotnet/introducing-net-5/)。因此,[.NET Framework 4.8](https://devblogs.microsoft.com/dotnet/announcing-the-net-framework-4-8/) 將會是 .NET Framework 的最後一個版本。
## .NET 支援政策
### .NET Core 和 .NET 的版本型別
> 本節整理自 [.NET Core 支援政策](https://dotnet.microsoft.com/platform/support/policy/dotnet-core)。
.NET Core/.NET 分為長期支援 (LTS) 版本和最新 (Current) 版本。自 .NET Core 2.2 起,兩者的支援週期如下:
- LTS (Long Term Support): 在初始釋出後的三年內受支援。
- Current:在初始釋出後,直到下一個 Current 或 LTS 版本釋出後的三個月內受支援。
### .NET Core 和 .NET 釋出節奏
> 本節整理自 [.NET 5 簡介](https://devblogs.microsoft.com/dotnet/introducing-net-5/)
- 自 2020 年起,每年 11 月為 .NET 釋出新的主要版本,版本號自 5.0 起遞增。即 2020 年 11 月釋出 .NET 5.0,2021 年 11 月釋出 .NET 6.0,以此類推。
- 自 2021 年起,將隔年釋出的主要版本標記為 LTS 版本(即偶數的主要版本為 LTS 版本,奇數的為 Current 版本)。
### .NET Core 和 .NET 生命週期詳情
> 本節整理自 [.NET 5 簡介](https://devblogs.microsoft.com/dotnet/introducing-net-5/) 以及 [.NET Core 支援政策](https://dotnet.microsoft.com/platform/support/policy/dotnet-core),僅列出了生命週期尚未結束的版本。
| 版本 | 初始釋出時間 | 支援級別 | 結束支援時間 |
| ------------- | --------------------- | -------- | --------------------- |
| .NET 8 | 2023 年 11 月(預計) | LTS | 2025 年 11 月(預計) |
| .NET 7 | 2022 年 11 月(預計) | Current | 2023 年 2 月(預計) |
| .NET 6 | 2021 年 11 月(預計) | LTS | 2024 年 11 月(預計) |
| .NET 5 | 2020 年 11 月(預計) | Current | 2022 年 2 月(預計) |
| .NET Core 3.1 | 2019 年 12 月 3 日 | LTS | 2022 年 12 月 3 日 |
| .NET Core 2.1 | 2018 年 5 月 30 日 | LTS | 2021 年 8 月 21 日 |
### .NET Framework 各版本支援政策
> 本節內容整理自 [.NET Framework 生命週期常見問題](https://docs.microsoft.com/zh-cn/lifecycle/faq/dotnet-framework)。
- .NET Framework 4.5.2 及以上版本被定義為 Windows 作業系統的一個元件,與其父產品獲得相同的生命週期,詳見下節內容。
- .NET Framework 4、4.5 和 4.5.1 已於 2016 年 1 月 12 日停止支援,客戶和開發人員必須就地更新到 .NET Framework 4.5.2 及以上版本,才能技術獲得技術支援和安全更新。
- .NET Framework 3.5 SP1 在 Windows 10 v1809 和 Windows Server 2019 及以上版本中作為獨立的產品存在,自 2018 年 10 月 2 日起獲得 5 年主流支援和 5 年擴充套件支援。
- .NET Framework 3.5 SP1 在 Windows 10 v1809 和 Windows Server 2019 以前的作業系統中,作為作業系統的元件存在,其生命週期與其父產品相同。
- .NET Framework 2.0、3.0 和 3.5 已先後停止支援,客戶和開發人員可就地更新到 .NET Framework 3.5 SP1,以便在後者的生命週期內獲得技術支援和安全更新。由於 .NET Framework 3.5 依賴於 2.0 以及 3.0,因此 .NET Framework 2.0 SP2 和 .NET Framework 3.0 SP2 元件在安裝了 .NET Framework 3.5 SP1 環境當中得到支援。
### .NET Framework 版本和作業系統版本的關係
> 本節內容整理自 [.NET Framework 版本和依賴關係](https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies) 以及 [.NET Framework 系統需求](https://docs.microsoft.com/zh-cn/dotnet/framework/get-started/system-requirements)。
- .NET Framework 4.5 預裝在了 Windows 8 和 Windows Server 2012 中。此後,每個版本的 Windows 作業系統都包含了特定版本的 .NET Framework 4.x。
- .NET Framework 4.8 預裝在了 Windows 10 v1903 (build 18362) 及以上版本中。
- .NET Framework 4.6.1 及以上版本可以安裝在 Windows 7 和 Windows Server 2008 R2 SP1 及以上版本的 Windows 作業系統中,但不可以安裝低於預裝於作業系統中的版本。
- .NET Framework 4.6 為 Windows Vista 和 Windows 2008 SP2 支援的最高版本。
- .NET Framework 4.0.3 為 Windows XP 和 Windows Server 2003 支援的最高版本。(參見 [在 Windows XP 和 Windows Server 2003 上安裝 .NET Framework](https://docs.microsoft.com/zh-cn/dotnet/framework/install/on-windows-xp))
> 注意:.NET Framework 4、.NET Framework 4.0.3 和 Windows XP、Windows Server 2003 已經停止支援,不會再接收任何形式的安全更新。
- .NET Framework 3.5 SP1 在 Windows XP 和 Windows Server 2013 及以上版本的 Windows 作業系統中,可以使用 [安裝程式](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1) 進行安裝。
- .NET Framework 3.5 SP1 在 Windows 10,Window Server 2016 和 Windows Server 2019 中可以通過控制面板直接