.NET 5.0 正式版发布了!
共 2177字,需浏览 5分钟
·
2020-11-16 20:35
作为微软最早迈向开源的重要软件之一, .NET 的进展极具意义。
微软今天发布了 .NET 5.0 正式版。
微软希望 .NET Framework 开发者能够迁移他们的代码和应用到 .NET 5.0 上,为明年发布的 .NET 6.0 将 Xamarin 开发者过渡到统一平台奠定基础。
ASP.NET Core、EF Core、C#9和F#5也将在今天一同发布!
目标是将所有的 .NET 组件整合到一个产品下,然后用户可以根据需求使用 .NET 的某个部分,而不是单独下载或安装所有内容。
版本发布时间轴:
.NET Core 3.0 已于2019/09推出
.NET Core 3.1 已于 2019/12推出,为 LTS (Long Term Support,长期支援版),之后.NET Core 将更名.NET,固定每年释出新版,并定义双数版号为LTS版,单数版号为Current版。
.NET 5.0 2020/11
.NET 6.0 LTS 2021/11
.NET 7.0 2022/11
.NET 8.0 LTS 2023/11
对于Visual Studio用户,您需要Visual Studio 16.8或更高的版本才能在Windows上使用.NET 5.0,在MacOS上使用最新版本的Visual Studio for Mac)。Visual Studio Code的C#扩展也已经支持.NET5.0和C#9。
NET 5.0是我们的.NET统一之旅的第一个版本。我们构建.NET 5.0是为了让更多的开发人员能够将他们的.NET Framework代码和应用程序迁移到.NET5.0。我们在5.0中也做了很多前期工作,以便Xamarin开发人员在发布.NET6.0时可以使用统一的.NET平台。
什么是.NET 5?
.NET 5.0是.NET Framework和.NET Core核心的结合,旨在统一.NET平台,微软将其描述为“.NET的未来”。
.NET 5.0还带来了大量的改进,微软强调了一些比较显著的变化,包括一些性能上的改进。
以下是这个版本的所有亮点:
.NET 5.0 已经部署到 dot.net 和 Bing.com 托管数月,已经得到了实战检验。
很多组件的性能都得到了极大的提高。.NET 5.0 中 ARM64 的性能 和 GRPC 等都有改善
C# 9和F# 5提供了新的语言改进,如C# 9的顶层程序和记录,而F# 5则提供了交互式编程和.NET上功能编程的性能提升。
.NET库对Json序列化、正则表达式和HTTP(HTTP 1.1、HTTP/2)的性能有所提升。它们现在也被完全注释为可空性。
由于GC、分层编译等方面的完善,P95延迟有所下降。
应用部署选项更好了,有了ClickOnce客户端应用发布、单文件应用、容器镜像尺寸减小,并增加了Server Core容器镜像。
平台范围扩大,增加了WindowsArm64和WebAssembly。
一个值得注意的变化是,.NET 5.0应用可以原生运行在ARM64 Windows设备上,消除了仿真带来的一些性能障碍。然而,在这个版本中,Windows 桌面组件并不能用于ARM64设备--这计划在.NET 5.0的服务更新中进行。
网友评论:
“一方面开发者有了体验的一致性,另外一个方面社区和团队将不再专注于多个版本的runtime维护,预期会有更多精力进行改进。”
“过度版本,大同小异,大同小异。”
“影响最深远的是统一了bcl,已经将类库升级为standard2.0+net5了。”
“升级nuget包后,项目已经布上去了,和3.1互相丝滑切换”
“我想说终于走上正轨,但是因为 .NET 6 Multi-platform App UI,我还是想忍一年再说。”
Array.Copy比BlockCopy还快了,全面Nullable Reference还需努力。
不过我期待的AOT没有了,小遗憾。暂时先继续观望,目前我们生产环境依旧主要用Python,今年我已经主导用.net core3上了几个小项目,希望接下来生态可以继续完善,让我们用更低成本开发高性能的Web应用~
有些好奇Unity以后会不会支持.NET5呢。应该会吧。同时还比较期待Windows10X 不过看近期的延期情况来看,感觉要砍啊……(笑
希望是新的时代的到来!只可惜之前说的AOT到最后只是个文件打包独立编译,而非我们认为的静态链接缩小体积的单文件编译。希望.Net6能实现真正的AOT。
再见度盘,阿里云盘正式登陆App Store!
又来一个神器,可以查看微信朋友圈访客记录!