.NET Core 2.1 正式发布

这次更新包括对性能的改进,对运行时和工具的改进。还包含一种以 NuGet 包的形式部署工具的新方法。我们添加了一个名为 Span<T> 的新基元类型,它可以在没有内存分配的情况下对数据进行操作。还有许多其他新的 API,专注于密码学,压缩和 Windows 兼容性。它是第一个支持 Alpine Linux 和 ARM32 芯片的版本。您今天就可以开始将现有项目更新至 .NET Core 2.1 了。 该版本与 .NET Core 2.0 兼容,更新会变得很简单。

.NET Core 2.1 具有更快的构建性能,更快的内部工程系统并改进了与.NET框架之间的兼容性。根据Microsoft的初步基准,所有的.NET Core项目在2.1版本中都会有更快的构建时间,越大的项目获益越明显。

2.1版本推出一种实现框架兼容性的方法,称为“小版本前滚(minor-version roll-forward)”,这样就不需要再将应用程序和其运行环境相匹配了。这意味着Core 2.1的应用程序在之后的小版本(如2.2、2.3等等)将不需要进行修改就可以直接运行。这些新增特性对于独立应用程序(译注:Self-contained apps是.NET Core中的一种应用类型)来说是一种改进,通过使用dotnet publish命令能够准确无误地将这些应用程序进行打包。在2.1版本中,打包后的包将默认包含最新的补丁运行环境。

Long-term Support 长期支持

.NET Core 2.1 将是一个长期支持(LTS)版本。这意味着它会支持三年。我们建议您将 .NET Core 2.1 作为 .NET Core 开发的新标准。

我们打算在未来 2-3 个月内发布少量重要更新,然后正式将 .NET Core 2.1 作为 LTS 发布。之后,更新将针对安全性、可靠性以及添加平台支持(例如 Ubuntu 18.10)。我们建议您现在开始采用 .NET Core 2.1。对于处于活跃开发状态的应用程序,没有理由推迟将 .NET Core 2.1 部署到生产环境中。对于不活跃开发状态的应用程序,我们建议您等待部署,直到将 .NET Core 2.1 声明为 LTS。

有以下几个原因升级到 .NET Core 2.1:

  • 长期支持(LTS)。

  • 卓越的性能和质量。

  • 新的平台支持,例如:Ubuntu 18.04,Alpine,ARM32。

  • 更容易的在项目文件中管理平台依赖关系和自包含应用程序发布。

我们收到很多希望将 .NET Core 2.0 作为 LTS 版本的请求。事实上,那是我们原来的计划。我们选择等待,直到我们解决了管理平台依赖性的各种挑战(上面的最后一点)。平台依赖管理是 .NET Core 1.0 中的一个重要问题,并且随着每个版本的逐步改进。例如,您会注意到 ASP.NET Core 软件包引用不再包含 .NET Core 2.1 的版本号。

首次引入Global Tools



Global Tools是.NET Core 2.1预览版中其中一个初次出现的特性。Global Tools提供了一种方法,让开发人员编写的.NET Core应用可以打包成NuGet包交付。如果.NET Core运行在目标平台上,那么一个恰当打包的Global Tool就可以在那上面运行。JavaScript开发人员可能会发现一件有趣的事,就是这个工具直接借鉴了NPM Global Tools。最终,.NET Core Global Tools将支持安装到用户的本地目录。

ASP.NET Core 2.1对GDPR的支持


欧盟的《通用数据保护条例》(General Data Protection Regulation,以下简称 GDPR)已经于 2018 年 5 月 25 日正式施行。GDPR 涵盖了包括数据泄露发生后 72 小时内向监管机构通报的要求,以及提前告知用户数据用途的要求等等。GDPR 允许监管机构对违反规定的公司处罚高达其全球收入的 4%的罚金。如果亚马逊受到惩罚,罚款将为 70 亿美元。然而有趣的是,由于像亚马逊这样的公司收入巨大,利润却相对较低,因此 4%的罚款可能会花掉他们两年的利润。如果欧盟居民提交了数据访问请求,公司有 30 天的时间作出响应。假设一家公司收到了这样的请求,但它们仍不完全符合 GDPR 标准,并且无法回应,那么该居民可以向当地监管机构提出投诉。GDPR 要求监管机构采取措施来执行法律。就算不是 4% 的罚款,但他们也不能对投诉坐视不理。“如果监管机构在第一个月收到 10000 个投诉,他们就有麻烦了。

GDPR 只适用于欧盟境内和欧盟居民,但由于许多公司在欧洲开展业务,美国科技行业正在手忙脚乱地整改。尽管可以预见在 GDPR 的实施初期一定会出现问题,但这一规定标志着全球数据处理方式的巨变。希望随着公司和监管机构逐渐走上正轨,经 GDPR 所加强的隐私保护也将成为常态。.NET Core 2.1版本有GDPR特性,具体参见 《在 ASP.NET Core 欧洲常规数据保护法规 (GDPR) 支持》 https://docs.microsoft.com/zh-cn/aspnet/core/security/gdpr?view=aspnetcore-2.1 ,这里还有一篇相关博客: GDPR Support with ASP.NET Core 2.1 https://csharp.christiannagel.com/2018/05/24/gdpr/ 


Windows Compatibility Pack

将现有代码从 .NET Framework 移植到 .NET Core 时,可以使用 Windows Compatibility Pack。它提供了额外的 20,000 个API,与 .NET Core 中可用的 API 相比。这包括System.Drawing,EventLog,WMI,性能计数器和 Windows 服务。使用.NET Framework 也有必要升级到.NET Core上享受.NETCore的高性能以及云服务的便利。


最后给大家推荐一个杨中科老师周六带来的微服务课程,本次直播课程的盈利将会全部捐献给.NetCore 微服务相关开源社区。我在ocelot的上看到了杨老师提的issue: https://github.com/ThreeMammals/Ocelot/issues/375 ,不过ocelot的英国哥们还没有回复,ocelot项目虽然有两年多了,大家都是业余时间在维护,彼此把项目中特性贡献出来。一直没有考虑过社区捐赠的事情。



 


 
 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值