.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一样的慢
随机推荐
- Oracle 使用MERGE INTO 语句 一条语句搞定新增编辑
MERGE INTO RDP_CHARTS_SETTING T1 USING (SELECT '10001' AS PAGE_ID, 'test' AS CHART_OPTION FROM DUAL) ...
- Arduino IDE 开发 ESP-01S/ESP-01物联网实战检测温度湿度上传MQTT服务器
一.硬件准备 USB转ESP8266两块.DHT11温度湿度传感器.ESP8266-01/ESP8266-01一块(如果学习的话多买几块,ESP-01/ESP-01S的区别) USB转ESP8266 ...
- springboot 启动jar正确方式
首先需要pom.xml配置一个插件: IDEA 在右侧执行顶上m图片按钮 在command Line 中执行clean package命令 执行打包注意 打完jar包后最好解压jar查看一下META- ...
- JavaCV FFmpeg采集麦克风PCM音频数据
前阵子用一个JavaCV的FFmpeg库实现了YUV视频数据地采集,同样的采集PCM音频数据也可以采用JavaCV的FFmpeg库. 传送门:JavaCV FFmpeg采集摄像头YUV数据 首先引入 ...
- swing桌面四子棋程序开发过程中遇到的一些问题记录(二)
第二个遇到的问题是将JButton按钮设置成透明的按钮.首先UI给我一张透明的图片,如果我直接给Button按钮设置背景图片的话,是没有透明的效果的,只会留下白色的底,设置前后的效果如下图 制作透明的 ...
- Flask 操作Mysql数据库 - flask-sqlalchemy扩展
数据库的设置 Web应用中普遍使用的是关系模型的数据库,关系型数据库把所有的数据都存储在表中,表用来给应用的实体建模,表的列数是固定的,行数是可变的.它使用结构化的查询语言.关系型数据库的列定义了表中 ...
- spark进行相同列的join时,只留下A与B关系,不要B与A
一.问题需求: 近期需要做一个商品集合的相关性计算,需要将所有商品进行两两组合笛卡尔积,但spark自带的笛卡尔积会造成过多重复,而且增加join量 假如商品集合里面有: aa aa bb b ...
- 测试如何区分前后端bug
当我们测试到前后端分离的项目时,可能就会想这个bug我到底应该指给谁,是前端的问题还是后端的呢,为了让自己更专业,分清前后端问题还是很重要的. 1.如图商品详情中显示[件装:1,中包装:2 ]但是在后 ...
- Modbus 仿真测试工具 Mod_Rssim 详细图文教程
Mod_RSsim是一款轻量级的Modbus从机模拟器,它可以模拟ModBusTCP和ModBusRTU的从机,能够同时模拟254个被控站,软件使用简单方便,可以满足一般的主机调试. 官方网站:www ...
- ABP vNext 审计日志获取真实客户端IP
背景 在使用ABP vNext时,当需要记录审计日志时,我们按照https://docs.abp.io/zh-Hans/abp/latest/Audit-Logging配置即可开箱即用,然而在实际生产 ...