.Net Core3 新特性整理

.net core 3实现了.net 标准2.1。

1、生成可执行文件

以前版本需要dotnet run运行项目,.net core 3支持直接生成目标平台的可执行文件。比如windows就是exe了,linux就+x了。

 

2、生成依赖项的副本

以前版本在build时不会把NuGet的工具复制到目标目录,新版本会复制,但不包括razor和链接(链接的含义不太清楚)。

 

3、本地工具

这个工具指NuGet的包,以前2.1支持全局的,新版本支持在目录里放置dotnet-tools.json清单文件,再使用dotnet tool restore命令重载。

旧版本的工具依然依赖旧版本.net core SDK。

 

4、支持WPF与Windows Froms

这个在很多国内新闻上已经介绍过了,事实上这些新闻只关注这一条。

项目文件的Sdk设置为Microsoft.NET.Sdk.WindowsDesktop,添加<UseWPF>true</UseWPF>与或<UseWindowsForms>true</UseWindowsForms>即可添加支持。

 

5、内建快速的JSON解析器

System.Text.Json.Utf8JsonReader,此物只向前读取(只进读取器),内存占用更少,常规性能是Newton JSON.net的二倍,这个很给力哦!应该会降低很多项目对Newton的依赖。

现在只有读取器,以后会有:JSON 写入、DOM(随机访问)、poco 序列化程序、poco 反序列化程序。

新推出的Span<T>对高性能的字符分析程序都有很大的好处,包括Kestrel也从中受益。(Kestrel是微软跨平台基于libuv的高性能web服务器,目前应该是最强,不过我还没有其与h2o的比较信息)

 

6、索引和范围

这应该是吸纳百家之长的又一力作了,Python对索引的支持非常到位,现在.net也支持了(C#8.0才开始有)。

[1,2,3][0] // 1

[1,2,3][^1] // 输出3,反向索引

[1,2,3,4,5][1..^2] // 输出[2,3,4] 范围索引

 

7、异步流

又一个新语言特性,也是要C#8.0支持。

IAsyncEnumerable<T>, IEnumerable<T>的异步版本。

异步枚举器,可以在await foreach中途yield return。建议正式版再使用,现在还有bug。

 

8、类型:SequenceReader 序列读取器

配合前面提到的Span<T>,用于高效率,简单,低分配的读取分析文本,例如分割回车换行。

9、类型:MetadataLoadContext 元素据负载描述表

可以反射一些程序集的信息,但是不能执行程序集的Invoke。用于工具导向的软件,或者运行时激活某些功能的场景,用于释放程序集的文件锁或暂用内存之类的吧啦吧啦……

10、支持Linux 上的 TLS 1.3 和 OpenSSL 1.1.1

使用SslStream的地方,会自动搜寻Linux所安装的最新版本OpenSSL,尽可能使用TLS1.3。因为TLS1.3更快,步骤更少。而且在SSL在Linux上的特定版本还有漏洞……OpenSSL的漏洞。

11、AES-GCM 和 AES-CCM加密算法支持

System.Security.Cryptography.AesGcm,System.Security.Cryptography.AesCcm可用。均使用AEAD算法(Authenticated Encryption with Association Data (AEAD) algorithms)。

12、加密密钥的导入导出

不用X.509证书即可导入标准的RSA、DSA、ECDsa、ECDiffieHellman公钥证书,与PKCS#8私钥证书。

13、Linux上支持串口

这个不懂,就是以前只有Windows支持,现在Linux也可以了。

14、优化了很多现有功能

字符串在字典中做key也会更高效,HttpClient支持无损压缩Brotli,很多都是不需要修改代码就可受益。

15、分层编译

.net core 2.1新功能,2.2预览版默认启动,2.2正式时改为可选,现在3.0默认开启……曲折。

这货可提高启动性能,更好的JIT性能,提高吞吐量。

16、Linux的ARM64

哈,Windows 没有。IoT问题吧。

 

 

更多:

.net core中使用GB2312编码的问题

.Net Core EF 使用整理合集

.Net Core URL编码和解码

转载于:https://www.cnblogs.com/tianma3798/p/11578711.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349479.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flash大作业一分钟源文件_「百树云课堂」一写作业就像被雷劈,是什么“病”?...

一写作业就闹心&#xff0c;大部分都是因为在培养习惯的时候基础没打好。比如&#xff1a;对时间不敏感、对效率不敏感、专注力低下等等&#xff01;今天咱就系统说下“习惯培养”的重点。1大部分娃写不完作业&#xff0c;最主要的一点就是对时间不敏感。写一个字&#xff0c;喝…

bzoj5147bzoj2121loj6701 字符串游戏

做不出来杂题,到处找题做 看到$loj$上新出了一道题,觉得很神仙不错, 还记得Censoring吗(一个AC自动机的题) 这个题求最优解,数据范围$150$ 题解 数据范围非常小,首先贪心肯定不行,考虑AC自动机上$dp$? 好吧其实是区间$dp$ 一个直接的想法是维护$f[l][r]0/1$表示是否可以清空$l…

7个相同小球4个不同盒子_【计算启蒙】4个游戏陪娃玩懂“数拆分”,加减法都不用愁!...

前几天我们整理了能锻炼孩子“数-量匹配”知识的家庭生活小游戏&#xff1a;7个家庭数-量匹配小游戏&#xff0c;让孩子摆脱“机械数数”&#xff01;​mp.weixin.qq.com所以今天&#xff0c;助教就来分享一些借助实物的“数拆分”小游戏吧&#xff01;已经学会数量对应&#x…

python怎么使用预训练的模型_Keras使用ImageNet上预训练的模型方式

我就废话不多说了&#xff0c;大家还是直接看代码吧&#xff01; import keras import numpy as np from keras.applications import vgg16, inception_v3, resnet50, mobilenet #Load the VGG model vgg_model vgg16.VGG16(weightsimagenet) #Load the Inception_V3 model in…

NOIP模拟测试49·50「养花·折射·画作·施工·蔬菜·联盟」

一套题 养花 题解 分块\主席树 这里我用的是主席树 查询分段$1-(k-1)$找最大的,能向右找就向右找 for(ll nowl1,nowrk-1;nowl<maxx;nowlk,nowrk,nowrmin(nowr,maxx)){if(ansmod-1) break;chose(rt[r],rt[l-1],nowl,nowr,1,maxx);} 复杂度分析,调和级数$√n*log(n)$ 代码 #in…

宏任务和微任务执行顺序_确保任务的执行顺序

宏任务和微任务执行顺序有时有必要对线程池中的任务施加一定的顺序。 JavaSpecialists通讯的第206期提出了一种这样的情况&#xff1a;我们使用NIO从多个连接中读取数据。 我们需要确保来自给定连接的事件按顺序执行&#xff0c;但是不同连接之间的事件可以自由混合。 我想提出…

c语言中aver是什么意思_Linux系统top命令中的io使用率,到底是什么意思?

最近在做连续数据流的缓冲系统&#xff0c;C语言代码实现后&#xff0c;粗略测试了下&#xff0c;功能上应该没有问题。那么&#xff0c;接下来就该测试性能了。输入 top 命令&#xff0c;的确可以看到一系列 cpu 使用率&#xff0c;其中一个值得注意的子项就是 io 使用率了&am…

wireshark捕获选项不能用_wireshark的一些基础用法,欢迎收藏

About WiresharkWireshark是世界上最重要和使用最广泛的网络协议分析器。它让您在微观层次上看到网络上正在发生的事情&#xff0c;并且是许多商业和非营利性企业、政府机构和教育机构事实上(通常也是法律上)的标准。Wireshark的发展得益于全球网络专家的志愿贡献&#xff0c;并…

管理沟通-沟通框架

背景 管理三明治的承托&#xff0c;管理沟通。离开了沟通&#xff0c;所有的工作都将搁浅而无法前进。 常见话题&#xff1a; 向上沟通员工激励团队凝聚力提升向下沟通工作特点 工作职责说明技术开发计算机&#xff0c;编程语言&#xff0c;设计算法&#xff0c;开发功能&#…

t’触发器真值表和状态方程_清写出触发器按逻辑特性的分类;写出T触发器的状态方程。...

下列对配电所的说法有误的一项是()。A&#xff0e;市区10kV公用配电所的供电半径一般不大于300m&#xff0c;在郊区的供成功的基础设施服务的提供者都首先是按照商业化的原则经营的&#xff0c;并至少具有几个基本特点&#xff0c;这些基本特我国幅员辽阔&#xff0c;能源分布不…

NetBeans 9抢先体验

Java 9即将来临&#xff0c;NetBeans 9也即将来临。在本文中&#xff0c;我们将看到NetBeans 9 Early Access为开发人员提供的支持&#xff0c;以帮助他们构建Java 9兼容的应用程序。 Java 9提供了许多&#xff08;大约90种&#xff09; 新功能&#xff0c;包括Modules和JShel…

块裁剪后的矩形边界如何去掉_手持拍摄画面太抖?这节课教你如何快速稳定抖动的画面...

手持相机进行拍摄&#xff0c;画面会有较为明显的抖动&#xff0c;这节课就教大家如何稳定视频画面。素材导入到PR后&#xff0c;为素材添加变形稳定器效果&#xff0c;软件会自动开始分析。当前素材上方会显示在后台分析&#xff0c;这时候我们可以剪辑其他部分&#xff0c;并…

怎么把空字符串去掉_Python知识点字符串转整数需注意

↑↑↑关注后"星标"简说Python人人都可以简单入门Python、爬虫、数据分析简说Python严选 来源&#xff1a;简说Python 作者&#xff1a;老表One old watch, like brief python大家好&#xff0c;我是老表&#xff5e;Python知识点系列&#xff0c;学习了记得点赞、…

tree

随机走,看期望 由于zzn过于sb,考试推出来式子因为统计时间不对没有$AC$(应dfs前统计) zzn实在过于sb,式子和题解完全不一样,所以看题解的可以走了 记录tofa[x]表示当前点走到父亲期望步数 可以直接走到父亲 贡献$\frac{1}{deg[x]}$ 走到儿子再走到父亲$\frac{1}{deg[x]}*(1tofa…

android-x86 镜像iso下载_Windows 10(1909)最新12月更新版MSDN官方简体中文原版ISO镜像下载+激huo工ju...

微软已于11月中旬开始大规模推送Windows 10操作系统的最新版本1909。此次更新官方未放出具体更新日志&#xff0c;但没有太多大功能更新&#xff0c;主要还是“修修补补”为主。现在&#xff0c;为大家带来本次官方最新原版ISO镜像下载&#xff0c;具体内部版本号为18363&#…

32查运行内存的map文件_Spark Shuffle调优之调节map端内存缓冲与reduce端内存占比

本文首先介绍Spark中的两个配置参数: spark.shuffle.file.buffer map端内存缓冲 spark.shuffle.memoryFraction reduce端内存占比很多博客会说上面这两个参数是调节Spark shuffle性能的利器&#xff0c;实际上并不是这样的。以实际的生产经验来说&#xff0c;这两个参数没…

element ui 表单验证为正整数

很多时候都会用表单中输入正整数的情况&#xff0c;在element ui中可以用el-input-number 标签来显示输入框是number类型的&#xff0c;或者type"number"也可以的&#xff0c;但是正整数就需要判断了 可以利用正则来判断 代码如下 <el-form ref"checkData&qu…

python用input输入列表_Python如何使用input函数获取输入

所谓输入&#xff0c;就是用代码获取用户通过键盘输入的信息。 例如&#xff1a;去银行取钱&#xff0c;在 ATM 上输入密码。 在 Python 中&#xff0c;如果要获取用户在键盘上的输入信息&#xff0c;需要使用到input()函数。 函数input()让程序暂停运行&#xff0c;等待用户输…

web.xml.jsf_使用JSF 2.0可以更轻松地进行多字段验证

web.xml.jsf开发应用程序表单时最常见的需求之一是多字段验证&#xff08;或跨字段验证&#xff0c;但我没有使用此术语&#xff0c;因为当我将其放在Google上时&#xff0c;实际上得到了一些战后图片&#xff09;。 我正在谈论的情况是&#xff0c;我们需要比较初始日期是早于…

odoo self.ensure_one()

源码&#xff1a; def ensure_one(self): """ Verifies that the current recorset holds a single record. Raises an exception otherwise. """ try: # unpack to ensure there is only one value is faster than len when…