.NET Standard 简介

        .NET Standard 是一套正式的 .NET API 规范,有望在所有 .NET 实现中推出。 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性。 ECMA 335 继续为 .NET 实现行为建立统一性,尽管 ECMA 335 指定了一小组标准库,但 .NET Standard 规范包含范围更广的 .NET API。

.NET Standard 可实现以下重要情境:

  • 为要实现的所有 .NET 实现定义一组统一的、与工作负荷无关的 BCL API。
  • 使开发人员能够通过同一组 API 生成可在各种 .NET 实现中使用的可移植库。
  • 减少甚至消除由于 .NET API 方面的原因而对共享源代码进行的条件性编译(仅适用于 OS API)。

 

各种 .NET 实现以特定版本的 .NET Standard 为目标。 每个 .NET 实现版本都会公布它所支持的最高 .NET Standard 版本,这种声明意味着它也支持以前的版本。 例如,.NET Framework 4.6 实现 .NET Standard 1.3。也就是说,它会公开在 .NET Standard 版本 1.0 到 1.3 中定义的所有 API。 同样,.NET Framework 4.6.1 实现 .NET Standard 1.4,而 .NET Core 1.0 则实现 .NET Standard 1.6。

 

.NET 实现支持

下表列出了支持每个 .NET Standard 版本的最低平台版本。 这意味着所列平台的更高版本也支持相应的 .NET Standard 版本。 例如,.NET Core 2.2 支持 .NET Standard 2.0 及更低版本。

1、针对 .NET framework 列出的版本适用于 .NET Core 2.0 SDK 和更高版本的工具。旧版本对 .NET Standard 1.5 及更高版本使用了不同映射。如果无法升级到 Visual Studio 2017 或更高版本,可下载适用于 Visual Studio 2015 的 .NET Core 工具。

2、此处所列的版本表示 NuGet 用于确定给定 .NET Standard 库是否适用的规则。虽然 NuGet 将 .NET Framework 4.6.1 视为支持 .NET Standard 1.5 到 2.0,但使用为从 .NET Framework 4.6.1 项目构建的 .NET Standard 库存在一系列问题。对于需要使用此类库的 .NET Framework 项目,建议将项目升级到面向 .NET Framework 4.7.2 或更高版本。

3、.NET Framework 不支持 .NET Standard 2.1 或更高版本。有关更多详细信息,请参阅 .NET Standard 2.1 公告

  • 列表示 .NET Standard 版本。 每个标题单元格都是一个文档链接,其中介绍了相应版本的 .NET Standard 中新增了哪些 API。
  • 行表示不同的 .NET 实现。
  • 各单元格中的版本号指示要定向到此 .NET Standard 版本所需的最低 实现版本。
  • 有关交互式表的信息,请参阅 .NET Standard 版本

 

若要查找可以定位的 .NET Standard 最高版本,请按照以下步骤操作:

  1. 查找要运行的 .NET 实现所在的行。
  2. 在这一行中从右向左查找可以定位的 .NET Standard 版本所在的列。
  3. 列标题指示目标支持的 .NET Standard 版本。 此外可以面向任何更低的 .NET Standard 版本。 更高版本的 .NET Standard 还支持实现。
  4. 对要定位的每个平台重复执行此过程。 如果有多个目标平台,应选择它们都支持的最高版本。 例如,如果要在 .NET Framework 4.5 和 .NET Core 1.0 上运行,可以使用的最高 .NET Standard 版本是 .NET Standard 1.1。

 

 

posted @ 2020-10-10 14:28  张传宁  阅读(2446)  评论(0编辑  收藏  举报
页脚 HTML 代码