首页 / 微软技术 / .NET / .NET Standard 2.0:整齐划一的目标
.NET Standard 2.0

.NET Standard 2.0:整齐划一的目标

英文原文:.NET Standard 2.0: Setting Expectations Straight

最近结束的.NET Connect 2016大会上,几位微软 MVP 针对 .NET 标准的内容和未来发展谈论了自己的看法。

在两个月前公布.NET Standard 2.0 时,微软认为新版标准的目标在于为现有的三个主要 .NET 平台:.NET Framework、.NET Core,以及 Xamarin 提供一个坚实的底层基础,并为未来满足树莓派或 IoT 等全新类型设备需求可能需要创建的分支提供支持。

对开发者来说,目前现有三个分支最主要的问题在于难以清楚地知道每个平台具体有哪些功能可用,这个问题会显得极为不便。.NET 开发者 GaProgMan 认为,这会导致开发者过度使用条件编译(Conditional compilation),此外他还补充说 Portable Class Library(PCL)已经不再那么易于移植了,因为开发者无法轻松确保自己需要的 API 在目标平台上依然可用。根据微软的介绍,使用 .NET Standard 取代 PCL 作为编写多平台 .NET 库的底层基础可以解决这一问题。

然而微软 MVP Rick Strahl 指出,.NET Standard 应当被视作一种用于描述“至少在 API 接口方面需要选择哪一具体的实现,例如 .NET Core、Mono、Xamarin 或 .NET 4.6”的规范。换句话说,.NET Standard 本身并非一种实现,而是由 .NET 底层平台实现的。例如他认为,.NET Core 实现了当前版本的 .NET Standard 1.6 版,而他认为 .NET Core 1.2 将非常接近 .NET Standard 2.0,使其成为 .NET Standard 1.6 的超集。

为了解释 .NET Standard 2.0 到底是什么,Strahl 将其与核心的 .NET Base Class Library(BCL)在核心操作系统、运行时,以及语言服务方面进行了对比。其中包括基本类型系统、运行时的加载和查询操作、网络和文件I/O,以及一些额外的 API,例如System.Data。此外还对比了并非 .NET Standard 标准的一部分,但基于该标准构建的应用程序框架,例如 ASP.NET、WinForms、WPF 等。

 .NET Standard 2.0

 

从实现的角度来看,.NET Standard 采取了与传统 .NET 略微不同的方法。实际上 .NET Standard 针对每个特定平台的实现还提供了可充当类型转发器(Type forwarder)的 .NET Standard DLL。应用程序只需要引用类型提供程序(Type provider)DLL,即可将引用转发给能提供所需实现的相应程序集(Assembly)。相比 .NET 程序集,这种做法提供了类似的用户体验,但在实施者(Implementer)方面有很大不同,因为它们可以分别提供独立的程序包,而非像 .NET 运行时程序包那样提供一个单一的整体。

.NET Standard 2.0 将 .NET Standard 1.6 API 的范围增大了不止两倍,预计将于 2017 年 1 季度末发布,并且有可能在正式发布前首先提供预览版本。



About worksguo

我顶的是太阳,蓝天都在我脚下。我是软件开发者,信息化专家,电子商务专家,金融学者,创业人。长期关注微软技术!

Check Also

.NET Core

微软发布 .NET Core 2.0 Preview 1

这是 .NET Core 2.0 的首次公开亮相,相比之前的版本它有很大的改进。你可以使用 Visual Studio 2017 Preview 15.3, Visual Studio for Mac 或者 VS Code 开发 .NET Core 2.0 应用程序。微软同时也发布了 ASP.NET Core 2.0 Preview 1 。

.NET

.NET Framework 4.7改进了WPF和WinForms

Microsoft 新发布的 .NET Framework 4.7 中绑定了一些更新,各部分协同构成了更好的整体架构。.NET Framework 4.7 是与 Windows 10 Creator Update 一并联合发布的,着重于对 UI 的提升、对加密支持改进以及常规性能提升。Microsoft 的 Rich Lander 在宣布本次公告时指出,当前 .NET Framework 4.7 已支持.NET Standard 1.6,今年稍后交付的版本将会支持.NET Standard 2.0。


x

更多推荐

.NET Framework 4.7改进了WPF和WinForms

在两个月前公布.NET Standard 2.0 时,微软认为新版标准的目标在于为现有的三个主要 .NET 平台:.NET Framework、.NET Core,以及 Xamarin 提供一个坚实的底层基础,并为未来满足树莓派或 IoT 等全新类型设备需求可能需要创建的分支提供支持。

X#语言加入.NET家族 将于3月17日正式上线

在两个月前公布.NET Standard 2.0 时,微软认为新版标准的目标在于为现有的三个主要 .NET 平台:.NET Framework、.NET Core,以及 Xamarin 提供一个坚实的底层基础,并为未来满足树莓派或 IoT 等全新类型设备需求可能需要创建的分支提供支持。

Rider IDE恢复了对.NET Core调试的支持

在两个月前公布.NET Standard 2.0 时,微软认为新版标准的目标在于为现有的三个主要 .NET 平台:.NET Framework、.NET Core,以及 Xamarin 提供一个坚实的底层基础,并为未来满足树莓派或 IoT 等全新类型设备需求可能需要创建的分支提供支持。

powered by RelatedPosts