.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 @   张传宁  阅读(2455)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2014-10-10 SQLServer中的CTE通用表表达式
2014-10-10 SQL反模式学习笔记4 建立主键规范【需要ID】
页脚 HTML 代码
点击右上角即可分享
微信分享提示