昨天提到 .NET 6 LTS 支援期為三年,預計 2024/11/8 EOS (End of Support),讓我想到「那 .NET Framework 呢?」這篇就來整理一下 .NET Framework 的技術支援終止時間。

本篇主要參考以下官方文件:

先釐清一個觀念,所謂 .NET 4.5.1 結束技術支援,不代表 .NET 4.5.1 編譯的程式不再享用技術支援,必須升級成更新版本。
延伸閱讀: 蛤,微軟停止.NET 4.0/4.5/4.5.1的技術支援?會對我的系統造成影響嗎?

.NET 4.X 採「就地相容」政策,Windows 升級 .NET Framework 版本後,原本的 .NET 4.X 程式可繼續執行,不需要重新編譯或調整。雖然實務上可能存在不相容,但情況極少,且多半是為了符合業界標準或修正錯誤,真的遇上也該乖乖調整程式,但不需要為此改變專案 .NET Framework 版本。 (當然,升級新版能享受新功能、解鎖新武器,且避免跟時代脫節。所以,升吧,哪次不升?)

因此,因應舊版 .NET Framework EOS,只需在 Windows 安裝新版 .NET Framework,舊版 .NET Framework 開發程式多半不用修改,便能改用新版 .NET Framework 執行,不會因此失去技術支援。

微軟網站有一份完整 .NET Framework 各版本發行及 EOS 時間清單

Version開始日期結束日期
.NET Framework 4.82019年4月18日*1
.NET Framework 4.7.22018年4月30日*1
.NET Framework 4.7.12017年10月17日*1
.NET Framework 4.72017年4月11日*1
.NET Framework 4.6.22016年8月2日*1
.NET Framework 4.6.12015年11月30日2022年4月26日 *2
.NET Framework 4.62015年7月29日2022年4月26日 *2
.NET Framework 4.5.22014年5月5日2022年4月26日 *2
.NET Framework 4.5.12014年1月15日2016年1月12日
.NET Framework 4.52012年10月9日2016年1月12日
.NET Framework 4.02010年4月12日2016年1月12日
.NET Framework 3.5 Service Pack 12007年11月19日2029年1月9日 *3
.NET Framework 3.02006年11月21日2011年7月12日
.NET Framework 2.02006年2月17日2011年7月12日

附註:

  • [*1] 4.5.2 起,.NET Framework 被定義為 Windows 作業系統元件,支援週期與 Windows 一致。
  • [*2] 4.5.2、4.6、4.6.2 因使用 SHA-1 雜湊數位簽章,近年被視為不夠安全,故將提早於 2022/4/26 EOS
  • [*3] Windows 10 版本 1809 和 Windows Server 2019 開始,.NET Framework 3.5 SP1 被視為獨立產品,提供 5 年主要支援 + 5 年延伸支援,預設於 2029/1/9 EOS。至於更早期 Windows 上的 .NET 3.5 SP1 則視為作業系統元件,支援週期比照所在 Windows。

【小結】

  • .NET 4.5.2、.NET 4.6、.NET 4.6.1 將於 2022/4/26 EOS,Windows 請提前安裝升級到 .NET 4.6.2、.NET 4.7.x 或 .NET 4.8。
  • .NET Framework 採就地相容,安裝新版後,舊程式不需修改程式或重新編譯即可沿用 (僅有極少數不相容狀況需調整程式) 並繼續享有技術支援。
  • .NET 3.5 SP1 及 .NET 4.6.2+ 被視為 Windows 的作業系統元件,支援週期比照所在的 Windows。

.NET Framework EOS list.


Comments

# by 路人甲

附註: [*1] 4.5.2 起 ==> 應該是 4.6.2,不是 4.5.2 ?

# by Jeffrey

to 路人甲,應該是 4.5.2 沒錯, https://dotnet.microsoft.com/platform/support/policy/dotnet-framework#whats-covered Beginning with version 4.5.2 and later, .NET Framework is defined as a component of the Windows operating system (OS).

Post a comment


87 - 68 =