
微软已将 ASP.NET Core 2.3 的支持终止日期定为 2027 年 4 月 7 日。ASP.NET Core 2.3 是目前在 .NET Framework 上唯一受支持的版本,尽管 .NET Framework 本身(以及原始的 ASP.NET)仍将继续获得支持。
微软首席产品经理 Daniel Roth 表示:"在此日期之后,微软将不再为 ASP.NET Core 2.3 提供安全补丁、错误修复或技术支持。"用户被建议升级至运行在 .NET 10 上的现代 ASP.NET。
.NET Framework 是仅适用于 Windows 系统的 .NET 版本,目前仍在维护中,但重心在于稳定性而非引入重大新功能。其最新版本为 4.8.1,新增了对 Arm64 的原生支持,并对 Windows Forms 和 WPF(Windows Presentation Foundation)应用程序的无障碍功能进行了改进。该版本被归类为 Windows 的组件之一,遵循 Windows 的支持生命周期。
ASP.NET Core 与 .NET Core(即当前的跨平台 .NET 版本)同期推出,但 2016 年发布的第一个版本同样支持在 .NET Framework 上运行。这一能力在 2019 年随 ASP.NET 3.0 的发布而被移除。
版本兼容性的演变颇为复杂。ASP.NET Core 在 .NET Framework 上运行的最后一个版本是 2018 年底发布的 2.2,但最后一个 LTS(长期支持)版本是 2018 年初发布的 2.1。对于那些使用了 2.2 特性但仍运行在 .NET Framework 上的开发者而言,当 2.2 版本停止支持时面临两难选择:要么回退到 2.1 并修复兼容性问题,要么升级以在 .NET Core 上运行。
微软于 2025 年初发布 ASP.NET Core 2.3,试图以此解决上述问题。尽管版本号有所不同,但这实际上是对 2.1 版本的重新发布。其逻辑在于:2.2 版本相对于 2.1 引入了破坏性变更,并更早地停止了支持,因此 2.3 版本回退至最近一个受支持的版本状态。
然而,这种处理方式并不符合语义化版本控制(SemVer)的规范,也引发了一些问题。一位用户当时描述道:"这一变更影响了我们数十个无法迁移的本地部署应用——它们运行在搭载 .NET Framework 的老旧 Windows Server 上。将版本从 2.1 升至 2.3 后,2.2 版本中新增的部分代码被移除,这在次要版本升级中属于破坏性变更,是完全出乎意料的。"他将其称为"对我们来说是个巨大的问题"。
ASP.NET Core 2.3 的支持周期最终不足两年。微软将其定义为"工具"类产品,根据相关文件,此类产品仅需满足"在支持结束前至少提前 12 个月通知"的要求。这也解释了为何终止日期恰好是 Roth 发布公告后的一年。
来自 .NET 包管理仓库 NuGet 的统计数据显示,2.2 和 2.3 版本的安装量依然相当活跃。
Roth 表示,终止支持的主要原因在于持续的维护与合规成本,这些投入"占用了我们在现代 .NET 平台上的研发资源"。他还指出,支持 ASP.NET Core 在 .NET Framework 上运行的主要目的本是为了便于从 ASP.NET 迁移至 ASP.NET Core,但 2.3 版本如今已过于陈旧,"我们不再建议将其作为长期迁移策略"。他建议正在从 ASP.NET 迁移的用户借助 AI 工具来辅助完成迁移工作。
不过,仍有部分用户认为微软是在利用"工具"这一定义的漏洞提前终止支持。"他们之前表现出对 2.3 版本的长期承诺,现在却突然宣布放弃,"一位用户如此抱怨道。
迁移至 .NET 10 和现代 ASP.NET 具有诸多优势,尤其是能够同时在 Linux 和 Windows 上运行。然而,企业用户更希望其遗留自定义应用程序能够继续正常使用。颇为讽刺的是,那些拒绝迁移至运行在 .NET Framework 上的 ASP.NET Core 的开发者,反而是当前仍受到支持的群体。
Q&A
Q1:ASP.NET Core 2.3 是什么,为什么微软要终止对它的支持?
A:ASP.NET Core 2.3 是微软于 2025 年初发布的版本,实质上是对 ASP.NET Core 2.1 的重新发布,也是目前在 .NET Framework 上唯一受支持的 ASP.NET Core 版本。微软决定终止支持的主要原因是维护和合规成本持续消耗研发资源,且认为该版本已过于陈旧,不再适合作为长期迁移策略。支持终止日期定为 2027 年 4 月 7 日。
Q2:ASP.NET Core 2.3 停止支持后,开发者应该怎么办?
A:微软建议开发者迁移至运行在 .NET 10 上的现代 ASP.NET,并可借助 AI 工具辅助完成迁移工作。迁移至 .NET 10 的优势包括支持跨平台运行(如 Linux 和 Windows),以及获得持续的安全补丁与技术支持。对于无法迁移的旧系统,2027 年 4 月 7 日之后将不再获得任何官方支持。
Q3:为什么 ASP.NET Core 2.3 的发布会引发开发者不满?
A:因为 ASP.NET Core 2.3 实际上是对 2.1 版本的重新发布,但在次要版本升级过程中移除了 2.2 版本中引入的部分功能代码,导致依赖这些功能的应用出现兼容性问题。这种做法违背了语义化版本控制(SemVer)的规范——次要版本升级不应包含破坏性变更,因此对运行在老旧 Windows Server 上、无法快速迁移的企业用户影响尤为突出。
更新时间:2026-04-10
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302034844号