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

在两个月前公布.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季度末发布,并且有可能在正式发布前首先提供预览版本。

原文地址:http://www.infoq.com/cn/news/2016/12/dotnet-standard-20-goals


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中路径带# vs 不带#

路由模式有两种 hash:路径带 # 符号,如 http://localhost/#/loginhistory:路径不带 # 符号,如 http://localhost/login 修改路由配置,代码如下: export default new Router({mode: history,routes: [] }…

centos7离线安装oracle11g,CentOS 7.5离线安装Oracle 11gR2

操作系统:CentOS 7.5 64bit,安装方式为gnome Desktop,附加系统工具以及兼容X Window安装包Oracle版本:11gR2Oracle11gR2官方文档链接安装系统建立默认用户的时候建立非oracle的账号。由于是离线安装,使用ssh登录&#…

Java IO: FileOutputStream

转载自 Java IO: FileOutputStream译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) FileOutputStream可以往文件里写入字节流,它是OutputStream的子类,所以你可以像使用OutputStream那样使用FileOutputStream。 这是一个FileOutputStr…

Struts文件上传与下载详解_上传单个文件

大家都知道Servlet上传文件的时候用的是commons-fileupload插件上传的,但是过程极其的麻烦,同样Struts2也有自带的文件上传,但是过程比Servlet里面的简单了不少,接下来请大家看演示: 我们现在先建一个表单用于上传文件…

IP暴露接口IP白名单设置

暴露接口IP白名单设置 暴露接口IP白名单设置 CrazyL- 2018-01-03 14:36:15 4797 收藏 1 展开 String realIp IPUtil.getIpAddr(request); if(!"0:0:0:0:0:0:0:1".equals(realIp)){ List<String> ipList Resources.readLines(Resources.getR…

两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置

为什么要迁移&#xff0c;江湖上传说windows server的稳定性不如某某某&#xff0c;这类议题与八卦新闻没两样&#xff0c;不谈&#xff0c;如果windows的价钱能够和linux相同或者差异不至于那么大&#xff0c;我才懒得换&#xff0c;因为穷&#xff0c;这才是重点。 涉及IO路径…

Vue(笔记)

所有东西必须都在标签里面进行定义&#xff0c;都在div中 报错后不断npm和cnpm Vue简介 Vue (读音/vju/, 类似于view)是一套用于构建用户界面的渐进式框架&#xff0c;发布于2014年2月。与其它大型框架不同的是&#xff0c;Vue被设计为可以自底向上逐层应用。Vue的核心库只关…

Java IO: RandomAccessFile

转载自 Java IO: RandomAccessFile译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) RandomAccessFile允许你来回读写文件&#xff0c;也可以替换文件中的某些部分。FileInputStream和FileOutputStream没有这样的功能。 创建一个RandomAccessFile 在使用Rand…

Struts文件上传与下载详解 _上传多个文件

在上一篇中给大家列出的单个文件的上传&#xff0c;那么这一篇咱们讲讲上传多个文件改怎么作呢&#xff1f;由于过程和上传单个文件的类似&#xff0c;所以在这里不细说&#xff0c;相信大家都能看懂&#xff0c;看不懂的可以在评论区留言&#xff0c;我看到之后会及时回复的&a…

oracle执行runstats,oracle runstats工具

------以sys登录进行授权 grant select on sys.v_$timer to suk; grant select on v_$mystat to suk; grant select on sys.v_$statname to suk; grant select on sys.v_$latch to suk;------This is the test harness I use to try out different ideas. It shows two vital s…

java通过poi读取excel中的日期类型数据或自定义类型日期

java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候&#xff0c;读出来的是这样的 12-十月-2019&#xff0c;而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时&#xff0c;当excel没有明确指明是哪个类型的数据时&…

Struts文件上传与下载详解_文件的下载

在 两篇我们主要说的是文件的上传&#xff0c;既然有上传那就有下载&#xff0c;那么咱们看一下struts里面是怎么个下载法&#xff01; 1.写个文件下载的表单页面&#xff1a; <a href"downLoad.action?fileName1111.jpg">下载文件</a>很简单的我们写一…

Java IO: File

转载自 Java IO: File译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) Java IO API中的FIle类可以让你访问底层文件系统&#xff0c;通过File类&#xff0c;你可以做到以下几点&#xff1a; 检测文件是否存在读取文件长度重命名或移动文件删除文件检测某个路…

java计算出生到现在经历了多少天

总是不知道自己现在几岁了&#xff0c;这个程序帮你解决 package com.kuang.demo07; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;public class demo {public static void main(String[] args) th…

微软的FreeBSD社区推广活动 北京站,你没看错!微软现在是一家名副其实的开源公司

自2012年开始&#xff0c;微软云计算与企业事业部和Citrix思杰&#xff0c;NetApp达成合作&#xff0c;共同开发出第一版针对Hyper-V虚拟设备驱动以及相关的用户态程序&#xff0c;并将此称之为集成服务 (Integration Service) 。微软也紧密地和FreeBSD社区合作&#xff0c;所有…

别羡慕别人的舒服,静下心来坚持奋斗!!!

通常给家里打电话的时候是晚上23点之后&#xff0c;因为家里也知道我这边忙&#xff0c;我也知道家里23点之前也在忙&#xff0c;所以选择在23点之后和家里联系联系&#xff0c;聊聊家常。自从到济南3年之久&#xff0c;即使在忙也每隔3-5天就给家里通一次电话&#xff0c;每次…

粉虫螨过敏性鼻炎

https://zhidao.baidu.com/question/1452443485981809220.html 粉虫螨过敏引起鼻炎&#xff0c;咽炎.怎么办 2018-01-04 螨虫过敏分很多症状&#xff0c;常见的有皮肤过敏和呼吸道过敏两类&#xff1a; 这个作者写的非常的正确 一、皮肤过敏&#xff1a;主要…

Linux ss命令 报错,ECS Linux中ss命令显示连接状态的使用说明

1. ss命令可用来获取socket统计信息&#xff0c;这个命令输出的结果类似于netstat输出的内容&#xff0c;但是它能够显示更多更详细的TCP连接状态的信息&#xff0c;且比netstat更快更高效。ss命令能够从内核空间直接得到信息&#xff0c;netstat命令读取各种/proc 文件收集信息…

Asp.Net Core 通过中间件防止图片盗链

一、原理 要实现防盗链&#xff0c;我们就必须先理解盗链的实现原理&#xff0c;提到防盗链的实现原理就不得不从HTTP协议说起&#xff0c;在HTTP协议中&#xff0c;有一个表头字段叫referer&#xff0c;采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说&#xff0c…

Java IO: 并发IO

转载自 Java IO: 并发IO译文链接 作者: Jakob Jenkov 译者: 李璟 有时候你可能需要并发地处理输入和输出。换句话说&#xff0c;你可能有超过一个线程处理输入和产生输出。比如&#xff0c;你有一个程序需要处理磁盘上的大量文件&#xff0c;这个任务可以通过并发操作提高性能…