设为首页收藏本站积分充值 不再解释,用心做事!    

易辅客栈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

易辅客栈模块更新下载手游专用模拟器城通网盘 - 注册就送5元现金
快速领取论坛金钱免费获取易辅VIP会员
论坛资源失效举报链接广告位出租50元/每月
查看: 950|回复: 1

[其它] 关于 .Net Core3 新特性

[复制链接]

签到天数: 1960 天

连续签到: 1 天

[LV.Master]伴坛终老

1004

主题

3541

帖子

10万

积分

管理员

讲师

Rank: 9Rank: 9Rank: 9

积分
103120

最佳新人社区QQ达人

发表于 2019-8-26 19:53:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转脚本编程。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
netcore3实现了.net标准2.1。1、生成可执行文件以前版本需要dotnetrun运行项目,.netcore3支持直接生成目标平台的可执行文件。比如windows就是exe了,linux就 x了。2、生成依赖项的副本以前版本在build时不会把NuGet的工具复制到目标目录,新版本会复制,但不包括razor和链接(链接的含义不太清楚)。3、本地工具这个工具指NuGet的包,以前2.1支持...

.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问题吧。

错误难免,还望指正。
易辅学院--欢迎你,有你更出众。 易辅做最真最好的服务 www.yifuxueyuan.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

易辅解答服务
 
 
VIP咨询
VIP办理
易辅交流4群:
【易辅客栈】脚本4群
易辅交流5群:
【易辅客栈】交流5群
易辅交流6群:
【易辅客栈】交流6群
工作时间:
10:00-22:00

QQ|小黑屋|手机版|Archiver|VIP介绍|积分充值|易辅客栈 ( 苏ICP备16034616号-1 )

GMT+8, 2024-4-28 19:52 , Processed in 0.731547 second(s), 51 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表