微软宣布 ASP.NET Core 3.0 只运行在 .NET Core 上
微软将对 ASP.NET Core 进行重大更新,其中包括项目与框架的整合、与 .NET Core 更紧密的集成,以及与第三方开源套件的集成,这些改进都将会协助开发者更快速的完成开发工作。项目在 ASP.NET Core 上引用和运行的方式随着版本的迭代发生了变化。
在 1.0 中,ASP.NET Core 本身就是一个“包”,并且像任何其他 NuGet 包引用一样出现在项目中。这有利有弊,随着时间的推移,这个模型有了新的发展,在 2.1 中,ASP.NET Core 最终演变为可作为 .NET Core 的“共享框架”。而 ASP.NET Core 3.0 则持续朝这个方向进行改变 —— 将从 3.0 中的 ASP.NET Core 共享框架中删除一些子组件:
- Json.NET (Newtonsoft.Json)
- Entity Framework Core (Microsoft.EntityFrameworkCore.*)
由于 .NET Framework 未来从 .NET Core 获得的新平台和语言特性将会变少,且因为 .NET Framework 的更新策略,这将使已有的应用程序受到影响。为了确保 ASP.NET Core 能够充分利用 .NET Core 的改进,从 3.0 开始,ASP.NET Core 将只支持在 .NET Core 上运行,目前仍在 .NET Framework 上使用 ASP.NET Core 的者,可以使用 2.1 LTS 版本以继续获得完全的支持,微软对 2.1 的支持将持续到 2021 年。
关于 ASP.NET Core 3.0 只支持运行在 .NET Core 上的计划,ASP.NET Core 项目的高级软件工程师在 GitHub 发布了一个公开 issue 为大家提供讨论的渠道。
关于 ASP.NET Core 3.0 详细的更改计划,请查看官方博客的公告。