经过一年多的开发,Microsoft 于北京时间 11 月 11 日(星期三)发布了其 .NET 5软件开发平台,强调平台的统一,并引入了 C# 9 和 F# 5 编程语言,新平台朝着桌面、Web、移动、云和 IoT 目标统一 .NET 开发体验的方向发展。.NET 5被描述为 Microsoft .NET 统一之旅中的第一个版本,它是为了使更多的开发人员群体能够将 .NET 框架代码和应用迁移到 .NET 5。该平台将来自 .NET Framework、.NET Core 和 Mono 的元素组合在一起,为所有现代 .NET 代码创建单个平台。工作已经完成,不过 Xamarin 开发人员还需要在一年内发布 .NET 6.0 时使用 .NET 平台。
.NET 5 可从dotnet.microsoft.com或新发布的 Visual Studio 2019 更新 16.8 得到。.NET 5 中的其他关键功能包括:
Windows ARM64 支持。
Windows 桌面开发增强功能。
改进了 JSON 序列化器 API。
空的引用类型注释。
Web 和云原生。
单个文件应用程序和较小的容器映像。
性能提高,gRPC 性能据说超过 Go、C++ Java。
全堆栈 .NET 应用与Blazor Web UI 框架,支持 Blazor 服务器和 Blazor WebAssembly,它支持 .NET Core框架库,并在 .NET 5 中跑的更快。
新的模型是支持WinRT API的特性,包括调用 API、在两个类型系统之间封送数据以及要跨类型系统或 ABI 边界处理相同的类型的统一。现有的 WinRT 互操作系统已从 .NET 运行时中删除。
同时,C# 9侧重于程序简单性、面向数据的类和更多模式。F# 5是微软函数编程语言的升级,添加了插值字符串和打开类型声明。此外, NET 5 中的ASP.NET Core Web 开发平台还改进了 MVC 模型绑定、Azure AD 身份验证和 SignlR 集线器筛选器和并行集线器调用。
Microsoft 对 .NET 的愿景推荐采用 .NET 5 到 .NET 6" Wave",该"Wave"包括单个 SDK、跨平台本机 UI 和云原生投资。计划要求每年 11 月发布主要 .NET 版本,所有其他版本都是长期支持版本。下一个 LTS 版本是 NET 6.0。将根据需要提供次要版本。