文 / Scott Hunter
译 / 汪宇杰
我们在2014年11月推出了.NET Core 1.0。.NET Core 的目标是借鉴我们过去12年构建、发布和服务.NET Framework的经验去构建更好的产品。这些改进如:并行安装(您可以安装新版本,而不必担心破坏现有应用程序)、独立的应用程序 (应用程序可以内置 .NET,因此.NET 不需要安装在计算机上),非Windows 操作系统的组件(.NET提供独立于操作系统计划的新版本)等等。除此之外, 我们还实现了.NET Core 开源和跨平台。
.NET Core 1.0 主要关注高性能 Web 和微服务。.NET Core 2.0 增加了两万多个API 和组件,如 Razor Pages 和 SignalR,使将 Web 应用程序移植到 .NET Core 变得更加容易。现在 .NET Core 3.0 通过添加 WinForms、WPF 和 EF6 来支持桌,从而可以将桌面应用程序移植到 .NET Core。
在.NET Core 3.0 之后,我们将不再从.NET Framework 移植任何其他功能。如果您是 WebForms 开发人员,并且希望在.NET Core 上构建新的应用程序,我们建议采用 Blazor,它提供了最接近的编程模型。如果您是 remoting 或 WCF Server 开发人员,并且希望在 .NET Core 上构建新的应用程序,我们会建议 ASP.NET Core Web API 或 gRPC,它提供跨平台和跨编程语言的基于Contract的 RPC。如果您是 Windows 工作流开发人员,则有一个移植到 .NET Core 的工作流版本。
随着2019年9月的 .NET Core 3.0 版本的发布,我们认为所有新的 .NET 应用程序都应基于 .NET Core。.NET Framework 中的主要应用程序类型仍受支持,但是如果我们没有在那里移植一些东西,则建议使用现代替换。未来对 .NET 的所有投资都将在 .NET Core 进行。这包括: 运行时、JIT、AOT、GC、BCL (基类库)、C#、VB.NET、F#、ASP.NET、Entity Framework、ML.NET、WinForms、WPF 和 Xamarin。
.NET Framework 4.8 将是 .NET Framework 的最后一个主要版本。如果您有正在维护的现有 .NET Framework 应用程序,则无需将这些应用程序移动到 .NET Core。我们将继续提供服务和支持 .NET Framework,其中包括 Bug、可靠性和安全修复。它将继续与 Windows 一起发布 (Windows 的大部分依赖于 .NET Framework),我们将继续改进 Visual Studio 中 .NET 的工具支持 (Visual Studio 是在 .NET Framework 上编写的)。
总结
应在 .NET Core 上构建新的应用程序。.NET Core 是未来对 .NET 进行投资的地方。现有应用程序可以安全地保留在将受支持的 .NET Framework 上。希望利用 .NET 中的新功能的现有应用程序应考虑迁移到 .NET Core。随着我们对未来的规划,我们将为平台带来更多的能力。你可以在这里阅读我们的计划。
https://devblogs.microsoft.com/dotnet/introducing-net-5/