写点什么

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

  • 2016-12-01
  • 本文字数:1050 字

    阅读完需:约 3 分钟

最近结束的.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 采取了与传统.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 季度末发布,并且有可能在正式发布前首先提供预览版本。

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

2016-12-01 18:003653
用户头像

发布了 283 篇内容, 共 106.0 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营 - 模块五作业

满心

架构实战营

如何在 Pytest 中添加日志记录

霍格沃兹测试开发学社

从IoTDB的发展回顾时序数据库演进史

Apache IoTDB

汇点成线,连接世界——福田区点线世界综合服务平台打造投资推广与企业服务新标杆

Geek_2d6073

构建只涨不跌的DApp代币合约系统:LP分红项目开发详解

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

ios ipa包上传需要什么工具

软件测试学习笔记丨什么是装箱和拆箱

测试人

软件测试

深度解析大模型推理框架:原理、应用与实践

百度开发者中心

人工智能 深度学习 大模型

海外云手机提供的当地IP有什么好处?

Ogcloud

云手机 海外云手机 云手机海外版 海外原生IP 海外IP

智能推送SDK,你知道的东西太多了!

MobTech袤博科技

海外云手机怎样助力Tik Tok运营

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

参与 PenPad Season 2 获得勋章,还有海量 Scroll 生态稀缺权益

加密眼界

如何使用pgvector为RDS PostgreSQL构建专属ChatBot?

阿里云瑶池数据库

数据库 阿里云 数据库开发 ChatGPT

云手机运营TikTok需要流量吗?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

知识图谱的演进与基于 OpenSPG+TuGraph 的推理实践

可信AI进展

参与 PenPad Season 2 获得勋章,还有海量 Scroll 生态稀缺权益

大瞿科技

五大“数据安全咨询服务能力”,让数据安全建设不再迷茫!

极盾科技

数据安全

合合信息分享数据资产管理经验,释放数据要素价值,发展新质生产力

合合技术团队

合合信息 大数据场景实践 数据资产管理

二维码使用技巧:自动填充信息,提高表单填写效率

草料二维码

二维码 草料二维码

抓包神器wireshark安装保姆级教程

霍格沃兹测试开发学社

从零基础到精通,抓包神器fiddler保姆级使用教程(一)

霍格沃兹测试开发学社

得物 Zookeeper SLA 也可以 99.99%!|得物技术

得物技术

Linux 运维 内存 SRE 企业号 4 月 PK 榜

自定义对象池在Caffeine框架中实践

FunTester

碳实践 | 你真的会做碳数据收集么?入门必看!

AMT企源

碳管理 碳实践 碳资产

电商新宠:淘宝拍立淘API接口助力精准搜索商品信息

技术冰糖葫芦

API Explorer api 货币化

深入了解 Docker:革命性的容器化技术

霍格沃兹测试开发学社

ETL中如何运用好MQ消息集成

RestCloud

数据同步 ETL 数据集成工具 mq消息集成

如何选购IPv6+IPv4的双栈美国云服务器

景博

服务器 ipv6 ipv4

.NET Standard 2.0:整齐划一的目标_.NET_Sergio De Simone_InfoQ精选文章