.Net Core 2.1 路线图

优化

  • [CLI] 编译性能
  • [CLI] 新开发了DotNetCliToolReference以替代以前的.Net CLI 工具
  • [CLR] 小版本的Roll-forward
  • [CLR] 新增了无须内存复制的数组操作类型Span<T>
  • [CoreFX] HttpClient性能提升
  • [CoreFX] Windows兼容包
  • [ASP.Net] SingalR可以在ASP.Net Core运行了
  • [ASP.Net] 默认打开Https
  • [EF] 基本的延迟加载开始支持
  • [EF] 支持Azure的Cosmos DB(毕竟是微软的产品线..)

编译时性能

 

编译时性能在.Net Core 2.1大幅提升,尤其是增量编译。这些性能提升会在dotnet build和Visual Studio里面体现出来。为了做到这一点,我们优化了CLI工具和MSBuild。

.Net Core SDK增量编译时间

.Net Core SDK增量编译时间

 

.Net Core全局工具

受Node.JS影响,.Net Core引入了一个新的部署工具和扩展工具的方法。这一套基本和Node global tools一致。

这个工具要用Nuget安装,默认情况下和框架无关,并且包含有所有的Nuget依赖。也就是说,这个工具可以运行在任何的操作系统或者芯片上。

目前只支持全局安装,微软表示单独安装的还在努力中。

dotnet tool install -g awesome-tool
awesome-tool

Span<T>, Memory<T>以及许多新东西

微软觉得你在处理数组的时候一定很辛苦,尤其在处理不同对象的数组时更是烦恼,所以它弄了个新的类库专门降低数组操作时的操作难度和性能损失。为了让你不再受到数组操作的困扰,你又有新的让你可以偷懒的类库学习了,棒棒哒。

这玩意可以从堆、栈、unsafe的数组给你重建一个Span<T>之类的对象,让你同时操作不同的数组起来就像在操作一个数组一般。

HttpClient 性能

对于微服务和一些应用来说,HttpClient的请求的性能在应用性能上占有重要位置。.Net Core 2.1引入了一个为高性能而重写的新的HttpClient handler。从一些前期试用的反馈来看,HttpClient的性能大幅提升。

同时,还有个新的IHttpClientFactory功能。这个接口可以提供HttpClient的实例开关和相关的服务。这些新功能建立在新的HttpClient handler上。ASPNet Core 2.1 路线图有详细解释。

小版本的Roll-forward

从2.1起,旧版本的应用可以跑在新的运行时了,只要主版本是一样的就行。例如,你的.Net Core 2.0应用可以跑在.Net Core 2.1运行时上面。不过.Net Core 2.X的应用就不能在.Net Core 3.0或者更高版本上了。

如果应用指定的.Net Core版本存在,应用会跑在指定的版本上。Roll-forward功能只会在指定的.Net Core版本不存在的时候有用。

你可以配置应用是否启用这个功能。不过关于怎么配置的文档还在努力中…

Windows兼容包

如果你打算把应用从.Net Framework迁移到.Net Core,你可以使用Windows兼容包。这个兼容包提供了超过2万个API,包含了System.Drawing, EventLog, WMI, Performance Counters, and Windows Services.

另外,有个新的API Analyzer可以用来确保你的应用跨平台

发行日期

大概2月底会有个preview,然后年中会有最终版本。

 

除非注明,本站文章均属原创。如转载本篇文章,请注明:转载自365IT新闻

本文地址: http://www.usit365.com/net-core-2-1-%e8%b7%af%e7%ba%bf%e5%9b%be/