NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

.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:003557
用户头像

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

关注

评论

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

如何查看github和gitee评论消息

Albert

GitHub

夯实基础,踏步云升 | 云原生 DevOps 入门必读

CODING DevOps

DevOps 云原生 CODING

信息过载,加班无度的时代,我们需要「洞穴空间」

非著名程序员

个人成长 提升认知 思维 8月日更

音频技术及行业的发展

声网

音频技术

面对物联网安全隐患高墙,熵核科技如何实现突围

熵核科技

物联网安全

决定论:区块链的哲学

CECBC

基于 Web 端的屏幕共享实践

ZEGO即构

大前端 音视频 web端屏幕共享

linux服务器网络编程之线程模型

Linux服务器开发

reactor 线程模型 Linux服务器开发 Linux网络编程 服务器模型

闭关修炼21天,“啃完”283页pdf,我终于4面拿下字节跳动offer

Java 程序员 面试 计算机

Spring

ltc

spring

mPaaS 月度小报|为采购而生,全新资源包上架;前端 2D 游戏化互动入门指南

蚂蚁集团移动开发平台 mPaaS

mPaaS 小程序市场

投资ipfs挖矿有风险吗?投资ipfs挖矿要多少钱?

投资ipfs挖矿有风险吗 投资ipfs挖矿要多少钱

为什么VR视频的清晰度不高?

爱奇艺技术产品团队

编码 vr 编解码 8k 解码

更智能更高效,区块链打造更美服装行业

CECBC

浅谈云上攻防——对象存储服务访问策略评估机制研究

腾讯安全云鼎实验室

云原生 对象存储 数据安全 云上安全攻防

开源应用中心 | 快来一键体验,这款仅有400KB的开源博客程序!

开源

走出回归测试困境,爱奇艺精准测试体系建设

爱奇艺技术产品团队

测试 开发 精准测试 i技术会

Drools 基础语法

LeifChen

drools 规则引擎 8月日更

支持高性能计算场景,博云容器云打造智能算力引擎

BoCloud博云

容器 高性能计算

极客星球|基于加权DBSCAN的工作地居住地计算方法

MobTech袤博科技

教你用python爬虫下载1w+『ppt模板』,再也不用付费去购买啦!

Python研究者

8月日更

无服务框架-OpenFaas

QiLab

云原生的数据云,下一个十年的数字化转型趋势

星环科技

数字化转型 云数据库

实时音视频,是一门好的ToB生意吗?

ToB行业头条

Dubbo No provider问题排查思路

捉虫大师

dubbo no provider

JavaScript 正则表达式的 5 个方法

devpoint

regex match 8月日更

在云中进行灾难恢复的5种有效方式

浪潮云

云计算

中国如何应对中美科技博弈?

石云升

科技革命 8月日更 启发 中美博弈

HarmonyOS学习路之开发篇—— Java UI框架(组件与布局说明)

爱吃土豆丝的打工人

HarmonyOS 布局与组件 java UI

JVM运行时数据区域

W🌥

Java JVM 8月日更

智能合约系统开发|智能合约DAPP搭建

Geek_23f0c3

DeFi去中心化系统开发 DAPP智能合约交易系统开发

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