Microsoft 是不是仍支持 .NET Framework 上的 ASP.NET Core?
Posted
技术标签:
【中文标题】Microsoft 是不是仍支持 .NET Framework 上的 ASP.NET Core?【英文标题】:Is ASP.NET Core on .NET Framework still supported by Microsoft?Microsoft 是否仍支持 .NET Framework 上的 ASP.NET Core? 【发布时间】:2021-04-22 13:04:46 【问题描述】:我想知道 ASP.NET Core(特别是 2.1 版)是否仍受支持如果它在 .NET Framework 运行时上运行。在此问题的上下文中,“支持”仅指“仍在获取安全修复程序”。
根据.NET Core and .NET 5 Support Policy:
.NET Framework 上的 ASP.NET Core 2.1
.NET Framework 上对 ASP.NET Core 2.1 的支持与其他基于包的 ASP.NET 框架的 ASP.NET Support 策略相匹配。此政策涵盖的软件包的完整列表可以在ASP.NET Core 2.1 Supported Packages 中查看。
第一个链接 (ASP.NET Support) 是这样说的:
[...] .NET Framework 将支持以下 ASP.NET Core 2.1(仅限最新修补版本)packages,对于这些 .NET Framework 版本,请遵循 support cycle。
虽然没有“关注”列表,但我认为它们是指packages 链接。该页面列出了 ASP.NET Core 包,例如“主”包“Microsoft.AspNetCore”。
所以这一切似乎表明 .NET Framework 上的 ASP.NET Core 2.1 仍然受支持。
问题 1:正确吗?
但最后发布的 AspNetCore package 是 2019 年 1 月的 2.1.7,而 current 2.1.x version of .NET Core 是 2021 年 1 月的 2.1.24。
问题 2: 为什么 ASP.NET Core NuGet 包即使应该仍受支持,但 2 年都没有更新?
如果它仍然受支持,这是否也意味着只要支持 .NET Framework 本身就支持 .NET Framework 上的 ASP.NET Core 2.1 - 这基本上意味着只要它运行的 Windows 版本是支持的?因此,即使 .NET Core 2.1 支持于 2021 年 8 月 21 日结束,.NET Framework 上的 ASP.NET Core 2.1 仍应获得安全更新,对吧?
问题 3:这是正确的,所以我们基本上会“永远”获得安全更新吗?
【问题讨论】:
真正的问题应该是Is .NET Old (Framework) still supported?
。仅用于安全修复。 ASP.NET Core 3 及更高版本仅适用于 .NET Core。 .NET 5 是 .NET Core 5.
您链接的文档清楚地解释了这些软件包,维护To help facilitate migrating applications to ASP.NET Core on .NET Core
。这一变化并不是什么新鲜事,它是在 .NET Core 3 的开发过程中以及发布时在文章、博客文章等中宣布的
编辑用不同的措辞重复相同的问题,期待不同的答案,以便......做什么? ASP.NET Core 团队不会更改其发布计划。即使他们承认页面中的措辞是错误的(事实并非如此),他们所要做的就是编辑。页。这不像您与他们签订了付费合同。这些包的存在只是为了允许迁移。工程答案是Upgrade
。
业务答案可能是Upgrade
、Buy a support contract
或leave it alone
。获取安全更新是 leave it alone
,因为当 Windows 更新出现时,由客户的 IT 人员安装
【参考方案1】:
“支持”不等于“正在积极开发中”;这意味着如果已经打算做的事情出现问题,您可能能够获得一些帮助 - 这并不意味着您可以获得新功能或 API。
但实际上;非常不建议在 3.1 之前的任何版本的 .NET Core 上开始任何新工作(在撰写本文时),或者在 .NET Framework(任何版本)上开始任何新项目,没有首先了解确切你为什么这样做 - 你得到了什么,你正在牺牲什么。所有新工作都应该(坦率地说)以 .NET 3.1 为目标,或者如果您想要“新的”,.NET 5 但请记住 .NET 5 不是 LTS 版本,所以这应该只是成为一个临时目标,以期在可用时迁移到 .NET 6(即 LTS)。
【讨论】:
感谢您的回答。但我不关心新项目,只关心现有代码。我在问题中添加了一些附加信息。 我已经调整了我的帖子并添加了一个额外的问题。您能否检查一下您是否可以帮助解决我的具体问题?【参考方案2】:我收到了来自 Microsoft 员工 here 的答复。
TLDR:是的,.NET Framework 上的 ASP.NET Core 2.1 仍然受支持,并且只要 .NET Framework 就会支持。 NuGet 包没有获得任何更新,因为它们没有发布新包以进行传递引用更新。
编辑:遗憾的是,Microsoft 禁用了对链接存储库的讨论,因此该帖子不再可用。但是recent blog post 强调了 .NET Core 2.1 的生命周期结束,还提到这不会影响 .NET Framework 上的 ASP.NET Core 2.1:
注意:.NET Framework 上对 ASP.NET Core 2.1 的支持与 .NET Framework 的支持策略。见ASP.NET Support Policy 更多详情
【讨论】:
【参考方案3】:让我们先了解一下您说的是哪个版本的 .NET Core。 Microsoft 不支持已宣布更新和支持终止日期的任何版本。
Microsoft 有自己的节奏,并且从一开始就一直在这样做,以保持自身更新并为其用户提供新特性、功能和更高的安全性。微软对 .NET Core 未来的愿景非常明确,它将不断定期更新,以满足未来的需求。
.NET Core 版本的 Microsoft 节奏发布日期和支持结束日期
要了解 Microsoft 支持的 ASP.NET Core 版本,您可以在此处阅读更多信息:Microsoft announces end of .NET Core 2.1 support
【讨论】:
我的问题与 .NET Core 无关。我的问题是关于在 .NET Framework 上运行的 ASP.NET Core。版本号在问题中明确说明:2.1。正如 Microsoft 已经确认的那样(请参阅已接受的答案),在 .NET Framework 上运行的 ASP.NET Core 遵循 .NET Framework 支持计划,而不是 .NET Core 支持计划。【参考方案4】:问题中的support page link明确说明those packages维护
帮助促进将应用程序迁移到 .NET Core 上的 ASP.NET Core。
这一变化并不是什么新鲜事,它是在 .NET Core 3 的开发过程中以及发布时在文章、博客文章等中宣布的。
.NET Core 2.1 上的 ASP.NET Core 2.1 会频繁更新,因为它遵循 .NET Core 2.1 的支持策略。 .NET Core 2.1 和 .NET Core 3.1 是长期支持版本,这意味着它们在发布后的 3 年内提供支持。这在.NET Core Support Policy 中有解释。 BTW 2.1 的支持将于 2021 年 8 月结束,因此您最好迁移到 3.1。
真正的问题应该是Is .NET Old (Framework) still supported?
。仅用于安全修复。 ASP.NET Core 3 及更高版本仅适用于 .NET Core。 .NET 5 就是 .NET Core 5。
是时候升级了
从何处获取安全更新
通过 Windows 更新。 .NET Framework 的修复和补丁通过.NET Framework Security and Quality Rollup 更新发布。
【讨论】:
感谢您的回答。但我不关心 .NET Core 2.1 运行时上的 ASP.NET Core 2.1。我只关心 .NET Framework 运行时上的 ASP.NET Core 2.1。据我了解这些文章,该支持不应该在 2021 年结束,但只要支持 .NET Framework 就可以运行。还是我错了?请注意,我还在问题中添加了更多信息。 我已经调整了我的帖子并添加了一个额外的问题。您能否检查一下您是否可以帮助解决我的具体问题? @cremor 唯一的具体问题是从哪里获取安全更新。与 .NET Framework 获取它们的方式相同,通过 Windows 更新提供的.NET Framework Security and Quality Rollup Updates ASP.NET Core 不是 .NET Framework 的一部分。它作为 NuGet 包提供。所以它不能成为 .NET Framework 更新本身的一部分。以上是关于Microsoft 是不是仍支持 .NET Framework 上的 ASP.NET Core?的主要内容,如果未能解决你的问题,请参考以下文章
Windows Server 2008 是不是支持 .net 1.1