加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.NET 5 Preview 1的深度解读和跟进

发布时间:2020-12-16 08:52:47 所属栏目:asp.Net 来源:网络整理
导读:?这几天微软.NET 团队发布了.NET 5 Preview 1,如约而至。很兴奋,因为.NET Core和.NET Framework终于实现了大一统,同时也很期待,期待.NET 5能给我们带来哪些好的新特性。 ?让我们先把时间拨回到2019年... ?一、2019年.NET 5的提前剧透 ? ?去年2019年 Richa

?这几天微软.NET 团队发布了.NET 5 Preview 1,如约而至。很兴奋,因为.NET Core和.NET Framework终于实现了大一统,同时也很期待,期待.NET 5能给我们带来哪些好的新特性。

?让我们先把时间拨回到2019年...

?一、2019年.NET 5的提前剧透

? ?去年2019年 Richard提前剧透了.NET 5?https://devblogs.microsoft.com/dotnet/introducing-net-5/。这篇文章中,我们先回顾并画一下重点:

? ?1. NET Core 3.x之后会统一升级到.NET 5,一个统一的平台 A unified platform

? ? ? ?.NET 5 = .NET Core vNext

? ? ? ?直接跳过.NET Core 4,原因是.NET Core 4.x和.NET Framework 4.*.* 会产生版本上的混淆,索性就直接.NET 5,

? ? ? .NET 5 名字中直接去掉了.NET Core,? 为了统一.NET的命名,目标就是只有一个.NET,?

? ? ? 统一一个运行时和框架,框架可以在任何地方运行,具备统一的运行行为和开发体验

? ? ? 充分利用.NET Core、.NET Framework、Mono、Xamarin来扩展.NET 功能

? ? ? 统一单个代码库,微软.NET 开发团队和社区共同维护、发展

? 2. .NET 5 定位与Windows,Linux,macOS,iOS,Android,tvOS,watchOS and WebAssembly等全平台、全场景开发

? ? ??

? 3. .NET 5的新特性

? ? ? Java互操作性将在所有平台上可用。

? ? ? 在多个操作系统上将支持Objective-C和Swift的互操作性。

? ? ? CoreFX将得到扩展,以支持.NET的静态编译(ahead-of-time – AOT),更小的占用空间并支持更多的操作系统。

? 4. 更高的吞吐量和生产效率

? 5. 快速启动、更小的体积和内存使用

二、2020年3月16日 .NET 5 Preview 1 released

? 前几天,3月16号,Scott Hunter 在博客中发布了一个令人兴奋的消息,.NET 5 Preview 1 第一个预览版发布。

??https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-1/

? 博文中,Scott Hunter说:“.NET Core 3 has become the fastest adopted version of .NET ever and we’ve gained another million more users in just the last year.”,

? ? ? ? ? ? ?翻译:“.NET Core 3成为有史以来最快采用的.NET版本,而仅仅在去年,我们又获得了100万用户。”

? 这个数据强有力地说明了.NET Core的强大吸引力。同时.NET Core 3.1也是一个LTS版本,包括我们特来电在内的不少公司,都已经升级到了.NET Core 3.1这个版本。

? 写到这,同时结合2019年的提前剧透,我们对.NET 5 的期待非常高,但是在这里,新发布的.NET 5 Preview 1,大家要冷静一下,为什么呢?

  • ? ?这是第一个预览版
  • ? ?GA一般可用版本讲在2020年11月份发布
  • ? ?目前看Preview 1的新特性有限

? 接下来,我们详细研究一下.NET 5 Preview 1的新特性:

? 1. 安装部署

  • .NET 5.0 Preview 1 SDK
  • .NET 5.0 Preview 1 Runtime

? ?2. 升级现有项目

<TargetFramework>netcoreapp5.0</>

? ?如果是ASP.NET Core项目

  • 将所有Microsoft.AspNetCore。*程序包引用更新为5.0.0-preview.1.20124.5
  • 将所有Microsoft.Extensions。*软件包引用更新为5.0.0-preview.1.20120.4

? ?3. ASP.NET Core 5.0 的更新

? ? 貌似只修复和改进几个功能点和些许Bug......

? ??https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-1/

ASP.NET Core in .NET 5 Preview 1 doesn’t include any major new features just yet,but it does include plenty of minor bug fixes. 

? ?

? ?4. 正则表达式性能提升

? ? ? 官方:我们尝试过的许多表达式中,这些改进通常可以使吞吐量提高3-6倍,在某些情况下甚至可以提高更多。

? ?5. RyuJIT中代码质量改进

? ? ?官方:每个版本都对JIT生成的代码进行了一系列性能改进。我们将这些类型的改进称为“ CQ”或代码质量。

? ?6. 程序集加载诊断添加到事件管道

? ? ?将程序集加载信息添加到事件管道。方便诊断分析程序集的加载情况(与.NET Framework一起使用Fusion Log Viewer的一部分)可以使用dotnet-trace通过以下命令来收集此信息:

dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]

? ?

? ?7. 事件管道探查器编程API

? ?事件管道是在.NET Core 2.2中添加的新子系统和API,可以在任何操作系统上执行性能和其他诊断调查。在.NET 5.0中,事件管道已得到扩展,以使探查器能够写入事件管道事件。

? ?这个类似于原来.NET Framework中往事件查看器中写事件的功能。比如说可以用到程序启动、关闭、Crash时的信息记录,方便程序问题跟踪、分析。

? ?8. GItHub仓库合并

??.NET 5中减少了用于构建和打包.NET 的GitHub存储库的数量。? 代码合并了,统一了!

? ?dotnet /运行时(是dotnet / corefx,dotnet / coreclr和dotnet / core-setup)
? ?dotnet / aspnetcore(在aspnet组织中有多个存储库)
? ?dotnet / sdk(以前是dotnet / sdk,dotnet / cli)

? ?9. 然而,不包含.NET 5的一些高级目标(不详细展开说了,期待后续预览版本了)

? ?通过上面的梳理和整理,.NET 5 Preview 1,大家期待不要太高,毕竟是第一个预览版。可以理解为合并现有代码、修复部分Bug,为.NET 5 打了个基线。

? ?我们可以继续等待并期待后续更新预览版和GA版本的发布。

? ?以上是.NET 5 Preview 1的深度解读和跟进。分享给大家。

?

?

周国庆

2020/3/23

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读