.NET5 它来了!微软大一统时代来临!
今天双11,Microsoft released.NET 5(在他们的开发博客上同时发布)。新版本的重点是改进。NET Core 3.1: 更小的单文件应用程序、对 Windows ARM64的支持以及更强大的 JsonSerializer api 是。NET 5,以及许多可观的性能改进。新的主要语言版本(c # 9和 f # 5)也是本版本的一部分。
统一的平台愿景也得到了微软首席项目经理 Richard Lander 的加强。NET Core.然而,尽管最初的范围发生了变化,。NET 5带来了许多改进。NET Core 3.1,以及一些新特性。这个版本中最相关的特性之一是增加了对 Windows ARM64的支持,支持。NET 在这些平台上本地运行。因此,像 Surface Pro x 这样的设备将能够运行 Windows 窗体、 WPF 和 ASP.NET Core 应用程序。
此版本的另一个重要特性是改进了单文件应用程序。单文件应用程序作为单个文件发布和部署,其中包括应用程序及其所有依赖项。它们也可以是自给自足的,这意味着它们有自己的。NET 运行时——这对于依赖于特定运行时版本的应用程序来说尤其有趣。.NET 5带来了更小的单文件应用程序,具有更高的内存使用效率,并且“更适合跨各种操作系统的微服务包含的应用程序”(如 Hunter 所说)。然而,必须注意的是,单文件应用程序在。NET 5主要关注于 Windows 下的 Linux 应用程序,macOS 仍然需要额外的文件(本地运行时二进制文件)。这种情况将在年重新审视。
NET 6…NET 5还包括不同领域的性能改进: 垃圾收集器(GC)得到了相当大的改进,提高了收集效率,改进了具有较高核心计数的计算机上的可伸缩性,以及许多其他微优化。该版本还为实时(JIT)编译器提供了一个新版本,包括改进的硬件内部函数(包括 ARM64)和 API 优化。罗斯林。NET 编译器平台用于编译 c # 和 Visual Basic 代码到直译语言-也得到了改进,引入了新的注重性能的分析器和 c # 源代码生成器。Source Generators 允许开发人员检查用户代码并生成可以添加到编译中的新源文件。在某些场景中,它们可以用来替换运行时反射调用和 IL 编织。
其他相关的绩效改进。NET 5包括: 正则表达式、 HTTP 1.1请求处理、 HTTP/2伸缩和字符串模式。对已经移植到的 JSON API 进行了重大的改进。3.1,但是。NET 5提供了一个更好的 JsonSerializer,具有改进的集合处理和新的缓存层。gRPC 框架也受到了特别的关注: 微软的基准测试显示了相当大的性能提升。NET Core 3.1(服务器快60% ,客户端快230%)。由于 gRPC 使用 HTTP/2作为其底层协议,新的 HTTP/2实现也部分地负责观察到的性能提高。谷歌的相关变化。Protobuf 软件包——例如增加对 modern 的支持。NET IO 类型(Span < t > ,ReadOnlySequence < t > ,和 IBufferWriter < t >)也直接影响到 gRPC 的性能。所有性能改进的全面清单。NET 5可以在这里找到。
新版本还包括缩小容器图像大小、新的容器 api 和新的目标框架名称。在。NET 5中指定了目标框架。具有 Target Framework Monikers (TFMs)的 csproj 项目文件,这些文件是用于识别项目所针对的 api 集的简短代号:
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
Net Core 框架也收到了新的特性、性能改进和兼容性修改。新功能包括微软的 Azure AD 认证。身份。在 SignalR 中支持并行的 hub 调用,在 ASP.NET Core API 项目中支持缺省的 Open API 规范(Swagger)。Blazor WebAssembly 的性能改进主要集中在复杂的 UI 呈现(组件虚拟化和预呈现)和 JSON 序列化。因此,Blazor WebAssembly 在。NET 5在大多数情况下比 Blazor WebAssembly 3.2快2-3倍。
最后,还有许多相关的语言更新。NET 5: c # 9专注于程序的简单性和数据不变性,带来了一些新特性,如 Records、顶级语句和改进的模式匹配。F # 5还带来了许多性能改进和两个高要求的新特性: 内插字符串和开放类型声明(类似于 c # 中的打开静态类)。5在 Jupyter notebook、 nteract 和 VSCode Notebooks 中也得到了完全支持。正如预期的那样,开发工具链也得到了更新: Visual Studio 16.8 for Windows 今天也发布了。NET 5已经包含在内) ,现在两者都支持 ClickOnce 应用程序部署。NET Core 3.1和。
根据微软的说法,。NET 5已经准备好部署到生产环境中:。NET 网站和必应网站一直在运行。NET 5自从第一个预览版发布以来,它也“已经被微软和其他公司的团队在生产和性能测试中积极使用” ,正如官方发布说明中所说。的完整发行说明。NET 5可以在这里找到,还有一个全面的列表,列出了从。3.1 to.NET 5——包括一个支持 WinRT api 的新模型——可以在这里找到。第一次预演。NET 6预计将在今年年底推出。水流。NET 开发路线图可以在这里找到。
.NET5 它来了!微软大一统时代来临!的更多相关文章
- “后PC”时代来临
“后PC”时代来临 数年前,喜达屋酒店及度假村国际集团将总部搬迁至美国康涅狄格州斯坦福,这也让公司首席执行官Frits van Paasschen有机会“除尘换新”. 那么,Frits van Paa ...
- 2018年末--积极拥抱h5.转载 大前端时代来临,我们何去何从?
1.大前端时代是什么? 大前端时代是WEB统一的时代,利用html5或者6甚至7,不但可以开发传统的网站,做炫酷的网页动态效果,更可以采用BS架构应用程序.开发手机端web应用.移动端Native应用 ...
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第一节:3D时代来临!
<使用Cocos2d-x 开发3D游戏>系列在线课程 第一节:3D时代来临.Cocos2d-x程序猿的机遇和挑战! 视频地址:http://edu.csdn.net/course/deta ...
- 5G商用时代来临!这些产业将发生变革
5G商用时代来临!这些产业将发生变革 值得注意的是,在获得工信部发放的5G网络试验频率后,三大运营商已在各大城市建设5G基站,开展5G外场测试.华为亦适时表示,已经在中国40多个城市与中国三大运营商开 ...
- 4G时代来临,运营商为谁搭台献唱?
4G时代已然来临.对用户而言,4G意味着更快的传输速度,以及更优质的移动网络体验. 只是对运营商而言.怎样部署4G却成了一大难题.众所周知,在全球范围内,4G LTE成为眼下最率先的移动宽带解 ...
- 为什么台湾人工智能可能抢输大陆?(XPU时代来临)
到了 2020 年,每 3 支手机,就会有一支内建有 AI 芯片. 但目前浮出水面的 AI 芯片新创,几乎都是大陆公司. 为什么台湾这回选择缺席? 「我听说 CPU.GPU,没有听过 NPU? 」11 ...
- 5G将会是量变到质变的新科技时代
马斯洛需求分为5层,最底层的需求是温饱,过去几十年都无人反驳,但随着科技的发展,人类最基本最底层的需求已经不再是温饱,而是手机和WIFI,当然,这只是网友的调侃罢了,但也从侧面反映出了手机和WFI网 ...
- 连接的世界 - LTE时代产业趋势和战略分析
连接的世界 - LTE时代产业趋势和战略分析 作者:华为有线技术公司李常伟 2014-09-22 信息产业发展解放的核心是这个世界连接的方式.由语音到数据.由通信到情感.由人的连接到物的连接.由“哑” ...
- 5G时代
电信语音承载在CDMA2G网络--所以2G基本没有网络 网络走fdd4g 如果5G时代来临,4g网络可能就会像3G一样的慢
随机推荐
- 你好,Spring!
交个朋友 拿人钱财替人干活儿,在不影响工作的前提下,想做到很高频率的更新很难,但是我也尽力输出,不能为了写而写,宁缺毋滥吧. 我的想法是这样的,接下来的一段时间专门写Spring框架.整体思路就是:入 ...
- 持续提升程序员幸福指数——使用abp vnext设计一款面向微服务的单体架构
可能你会面临这样一种情况,在架构设计之前,你对业务不甚了解,需求给到的也模棱两可,这个时候你既无法明确到底是要使用单体架构还是使用微服务架构,如果使用单体,后续业务扩展可能带来大量修改,如果使用微服务 ...
- MySQL-5.7.29-winx64解压缩版安装
1.下载压缩包 https://dev.mysql.com/downloads/file/?id=491809 2.解压下载的文件(路径放在哪都可以) 3.配置环境变量 添加变量到path中 4.准备 ...
- Net Core(Net5) 部署到不同操作系统遇到问题的解决方法
Net Core(Net5) 部署到不同操作系统的解决方法 目录 Net Core(Net5) 部署到不同操作系统的解决方法 1 系统版本升级补丁 1.1应用程序部署时VC无法安装,导致应用程序缺少配 ...
- Centos7 keepalived 修改日志路径
Keepalived默认所有的日志都是写入到/var/log/message下的,由于message的日志太多了,而Keepalived的日志又很难分离出来,所以本文提供了一个调整Keepalived ...
- SpringMVC的@Validated校验注解使用方法
validate会对参数进行校验,校验标准为validate后的类中的标准.本例中对User进行校验,User类中设置了校验标准. 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参 ...
- mysql锁类型
mysql锁类型 问题 都有哪些锁 锁与隔离级别的关系 sql语句中涉及都涉及哪些锁 事务中,锁何时释放 死锁检测机制 概要
- 通过BulkLoad快速将海量数据导入到Hbase(TDH,kerberos认证)
一.概念 使用BlukLoad方式利用Hbase的数据信息是 按照特点格式存储在HDFS里的特性,直接在HDFS中生成持久化的Hfile数据格式文件,然后完成巨量数据快速入库的操作,配合MapRedu ...
- git版本回滚
本地版本回滚 git reset --hard <版本号> (git log 可查看版本号,版本号不用写全) 远程仓库版本回滚 先在本地将版本回滚 ,然后git push -f 强制提交
- NIO基础操作
原文链接http://zhhll.icu/2020/05/18/java%E5%9F%BA%E7%A1%80/IO/NIO%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/ N ...