ECMA 335 继续为 .NET 实现行为建立统一性,尽管 ECMA 335 指定了一小组标准库,但 .NET Standard 规范包含范围更广的 .NET API。
.NET Standard 可实现以下重要情境:
- 为要实现的所有 .NET 实现定义一组统一的、与工作负荷无关的 BCL API。
- 使开发人员能够通过同一组 API 生成可在各种 .NET 实现中使用的可移植库。
- 减少甚至消除由于 .NET API 方面的原因而对共享源代码进行的条件性编译(仅适用于 OS API)。
同样,.NET Framework 4.6.1 实现 .NET Standard 1.4,而 .NET Core 1.0 则实现 .NET Standard 1.6。
.NET 实现支持
例如,.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 中新增了哪些 API。
- 行表示不同的 .NET 实现。
- 各单元格中的版本号指示要定向到此 .NET Standard 版本所需的最低 实现版本。
- .NET Standard 版本。
若要查找可以定位的 .NET Standard 最高版本,请按照以下步骤操作:
- 查找要运行的 .NET 实现所在的行。
- 在这一行中从右向左查找可以定位的 .NET Standard 版本所在的列。
- 更高版本的 .NET Standard 还支持实现。
- 例如,如果要在 .NET Framework 4.5 和 .NET Core 1.0 上运行,可以使用的最高 .NET Standard 版本是 .NET Standard 1.1。