.NET Standard 中的新增功能

本文内容

.NET Standard 是一种正式规范,它定义了一组版本化 API。这些 API 必须可用于符合相应 Standard 版本要求的 .NET 实现。.NET Standard 面向库开发者。定目标到 .NET Standard 版本的库可用于任意 .NET Framework、.NET Core 或支持 Standard 版本的 Xamarin 实现。

.NET Standard 的最新版本是 2.0。.NET Core 2.0 SDK 及已安装 .NET Core 工作负载的 Visual Studio 2017 版本 15.3 包含它。

支持的 .NET 实现Supported .NET implementations

以下 .NET 实现支持 .NET Standard 2.0:

  • .NET Core 2.0 或更高版本
  • .NET Framework 4.6.1 或更高版本
  • Mono 5.4 或更高版本
  • Xamarin.iOS 10.14 或更高版本
  • Xamarin.Mac 3.8 或更高版本
  • Xamarin.Android 8.0 或更高版本
  • 通用 Windows 平台 10.0.16299 或更高版本

.NET Standard 2.0 中的新增功能What's new in the .NET Standard 2.0

.NET Standard 2.0 新增了以下功能:

大幅扩展了 API 集A vastly expanded set of APIs

.NET Standard 版本 1.6 中包含了相对较小的一部分 API。不包含的 API 许多都是 .NET Framework 或 Xamarin 中的常用 API。这样一来,开发变得更为棘手,因为开发人员必须在开发定目标到多个 .NET 实现的应用和库时,寻找常用 API 的合适替代项。为了消除此限制,.NET Standard 2.0 向 Standard 旧版本 .NET Standard 1.6 中的可用 API 补充了 20,000 多个 API。有关添加到 .NET Standard 2.0 的 API 列表,请参阅 .NET Standard 2.0 与 1.6

.NET Standard 2.0 的 System 命名空间中新增的一些功能包括:

支持 .NET Framework 库Support for .NET Framework libraries

绝大多数库定目标到 .NET Framework,而不是 .NET Standard。不过,这些库大多调用的是 .NET Standard 2.0 中的 API。自 .NET Standard 2.0 起,可以使用兼容性垫片从 .NET Standard 库访问 .NET Framework 库。此兼容性层对开发人员透明;无需执行任何操作,即可使用 .NET Framework 库。

只有一项要求就是,.NET Framework 类库调用的 API 必须是 .NET Standard 2.0 中的 API。

支持 Visual BasicSupport for Visual Basic

现在可以使用 Visual Basic 开发 .NET Standard 库。如果 Visual Basic 开发人员使用的是已安装 .NET Core 工作负载的 Visual Studio 2017 版本 15.3 或更高版本,现在可以使用 Visual Studio 中的 .NET Standard 类库模板。对于使用其他开发工具和环境的 Visual Basic 开发人员,可以使用 dotnet new 命令创建 .NET Standard 库项目。有关详细信息,请参阅 .NET Standard 库的工具支持

.NET Standard 库的工具支持Tooling support for .NET Standard libraries

随着 .NET Core 2.0 和 .NET Standard 2.0 发布,Visual Studio 2017 和 .NET Core 命令行接口 (CLI) 均包含创建 .NET Standard 库所需的工具支持。

如果安装含 .NET Core 跨平台开发工作负荷的 Visual Studio,可以使用项目模板创建 .NET Standard 2.0 库项目,如下图所示:

添加新的 .NET Standard 库项目

如果使用的是 .NET Core CLI,可以运行下面的 dotnet new 命令,以创建定目标到 .NET Standard 2.0 的类库项目:

  1. dotnet new classlib

添加新的 .NET Standard 库项目

如果使用的是 .NET Core CLI,可以运行下面的 dotnet new 命令,以创建定目标到 .NET Standard 2.0 的类库项目:

  1. dotnet new classlib -lang vb

请参阅See also