ASP.NET Core项目开发实战入门
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 .NET Standard 2.0

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

1.大幅增加了API

.NET Standard 1.6中仅包含了相对较小的一部分API,不包含的API大多是.NET Framework或Xamarin中的常用API,这样一来,开发工作变得极为棘手。因为开发人员在开发针对多个.NET实现的应用和库时,必须寻找常用API的合适替代项。为了消除此限制,.NET Standard 2.0中补充了20000多个API。

在.NET Standard 2.0的System命名空间中,新增的部分功能如下:

●支持AppDomain类。

●更好地支持通过Array类中的附加成员处理数组。

●更好地支持通过Attribute类中的附加成员处理属性。

●改进了日历支持,并附加了DateTime值的格式设置选项。

●附加了Decimal舍入功能。

●在Environment类中附加了一些功能。

●增强了通过GC类控制垃圾回收器功能。

●增强了String类中的字符串比较、枚举功能,以及规范化支持。

●TimeZoneInfo.AdjustmentRule类和TimeZoneInfo.TransitionTime类支持夏令时调整和时间转换。

●显著改进了Type类中的功能。

●通过添加包含SerializationInfo参数和StreamingContext参数的异常构造函数,改进了对异常对象的反序列化支持。

.NET Standard 2.0中的API摘要如图3-2所示。

图3-2

2.支持.NET Framework库

绝大多数库都定目标到.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。

3.支持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库的工具支持。

4..NET Standard库的工具支持

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