.NET Standard 2.1发布:进一步使.NET实现一致

2018年11月07日 09:05 次阅读 稿源:开源中国 条评论

微软在11月5日发布了 .NET Standard 2.1 ,开发团队计划在 .NET Standard 2.1 中添加大约 3000 个 API ,其中很大一部分都是全新的,另外一部分则是添加到标准中的现有 API ,以便进一步使 .NET 实现一致。

访问:

微软中国官方商城 - 首页

image.png

更新亮点:

Span<T>。在 .NET Core 2.1 中,开发团队添加了一个类似于数组的类型 Span<T>,它允许以统一的方式表示托管和非托管内存,并支持切片而无需复制。它是 .NET Core 2.1 中与性能相关的大多数改进的核心。由于它允许以更有效的方式管理缓冲区,因此可以帮助减少内存分配和复制。Span<T> 被认为是一种非常基础的类型,因为它需要运行时和编译器支持才能充分利用。

● Foundational-APIs working with spans。虽然 Span 已经可以作为 .NET Standard 兼容的 NuGet 包(System.Memor)使用,但添加此包不能扩展 .NET Standard 类型的成员去使用 span。.NET Core 2.1 添加了许多允许使用 span 的API,如  Stream.Read(Span) 。将 span 带入 .Net Standard 的话,添加这些 API 是很重要的一部分。

Reflection emit。为了提高生产力,.NET 生态系统一直大量使用动态功能,如 reflection(反射)和 reflection emit 。Emit 通常被用作优化性能,以及为代理接口动态生成类型的方法。因此,许多人要求将 reflection emit 包含在 .NET standard 中。以前,开发团队试图通过 NuGet 包提供,结果发现无法使用包来模拟这样的核心技术。使用 .NET Standard 2.1 ,你可以访问轻量级代码生成(LCG)以及reflection emit ,同时添加了两个新的 API ,允许你检查生成代码的能力(RuntimeFeature.IsDynamicCodeSupported)以及生成的代码是否被解释或编译(RuntimeFeature.IsDynamicCodeCompiled)。

SIMD。.NET Framework 和 .NET Core 支持 SIMD 已经有一段时间了,多被用于加速 BCL 中的基本操作,例如字符串比较。开发团队收到了很多在 .NET Standard 中公开这些 API 的请求,因为这些功能需要运行时支持,因此无法作为 NuGet 包提供。

ValueTask 和 ValueTask<T>。在 .NET Core 2.1 中,最大的亮点是对高性能场景的基础知识的支持改进,其中还包含提高 async/await 效率。ValueTask 已经存在,并且如果操作同步,则允许返回结果,而无需分配新的 Task。在 .NET Core 2.1 中,开发团队进一步对其进行改进,使得有一个相应的非泛型 ValueTask 变得很有用。它允许减少分配内存,即使是在必须异步完成操作的情况下也是如此。在 .NET Standard 2.1 中公开这些 API 将使库作者能够作为消费者和生产者从中受益。

DbProviderFactories。在 .NET Standard 2.0 中,开发团队在 ADO.NET 中添加了几乎所有的基础类型(Primitives),以允许 ORM 和数据库实现者进行通信。不幸的是,当时 DbProviderFactories 未在其中,新版本已将其补上。简而言之,DbProviderFactories  允许库和应用在编译时使用特定的 ADO.NET 提供程序而无需知道任何特定类型,方法是在基于名称的已注册 DbProviderFactory 实例中进行选择,例如,可以从配置设置中读取。

General Goodness。自从  .NET Core 开源后,基础类库中已添加许多小功能,例如 System.HashCode 用于组合 hash code 或 System.String 上的新的重载。.NET Core 中大约有800个新成员,且几乎都加入了 .NET Standard 2.1。

更多内容可查阅发行说明:

https://blogs.msdn.microsoft.com/dotnet/2018/11/05/announcing-net-standard-2-1/

活动入口:

天翼云 - 0元体验数十款云产品

阿里云技术变现推广大使招募中

对文章打分

.NET Standard 2.1发布:进一步使.NET实现一致

1 (4%)
已有 条意见

    最新资讯

    加载中...

    今日最热

    加载中...

    热门评论

      招聘


      Advertisment ad adsense googles cpro.baidu.com
      created by ceallan