深圳网站建设开发哪家好,在网站上做承诺,小米发布会官网,wordpress编辑小工具栏近日#xff0c;微软发布了.NET Core 2.0#xff0c;但是开发人员中间仍然存在一些疑惑#xff0c;就是.NET Core、.NET Standard、Xamarin和.NET Framework有什么不同。 .NET Framework用于构建桌面应用程序和运行在互联网信息服务器#xff08;IIS#xff09;上的ASP.NE… 近日微软发布了.NET Core 2.0但是开发人员中间仍然存在一些疑惑就是.NET Core、.NET Standard、Xamarin和.NET Framework有什么不同。 .NET Framework用于构建桌面应用程序和运行在互联网信息服务器IIS上的ASP.NET应用程序。它是第一个托管框架。 Xamarin是一个用于构建iOS、Android、macOS和桌面应用程序的框架。 .NET Core .NET Core是免费、跨平台的是托管框架的开源实现。它支持4种类型的应用程序控制台、ASP.NET Core、云和通用Windows平台UWP。Windows Forms和Windows Presentation FoundationWPF并不包含在.NET Core中。 从技术上讲.NET Core仅支持控制台应用程序。ASP.NET Core和UWP是以.NET Core为基础构建的应用程序模型。 与.NET Framework不同.NET Core没有作为Windows组件考虑。因此更新是以NutGet包的形式而不是通过Windows Update。由于.NET Core运行时安装成了App-Local而应用程序升级是通过包管理器完成的所以应用程序可以关联特定的.NET Core版本以及单独升级。 .NET Standard 托管框架的每一种实现都有一套自己的基类库。基类库BCL包含诸如异常处理、字符串、XML、I/O、网络和集合这样的类。 .NET Standard是一项实现BCL的规范。由于.NET实现需要遵循这项规范所以应用程序开发人员就不用担心每一种托管框架实现的BCL不同。 框架类库FCL如WPF、WCF、ASP.NET不包含在BCL中因此也就不包含在.NET Standard中。 .NET Standard与.NET实现之间的关系就和HTML规范与浏览器之间的关系一样。后者是前者的实现。 因此.NET Framework、Xamarin和.NET Core每一种托管框架都实现了.NET Standard中的BCL。随着计算机工业不断推出新的硬件和操作系统将来还会出现新的.NET托管框架。该标准让应用程序开发人员知道他们可以依赖于一套始终如一的API。 每个.NET版本都对应一个.NET Standard版本。 API一致将应用程序移植到不同的托管实现以及提供工具都会更简单。 .NET Standard被定义为一个单独的NuGet包因为所有的.NET实现都必须支持它。工具变得简单了因为对于特定的版本它们有一套相同的API。你还可以针对多个.NET实现构建一个库项目。 你还可以构建特定平台API的.NET Standard封装器。 .NET Standard vs 可移植类库 可移植类库做的不是同一件事吗 可移植类使用多个平台均都支持的通用API。因此支持的平台越多可用的API就越少而且对于特定的平台组合很难知道到底支持哪些API。对于一个新平台已有的PCL必须重新编译。PCL还需要微软针对每个平台创建一个新的框架实现分支。 由于.NET Standard确定了API而不是一个实现所以不需要重新编译应用程序。任何新发布的.NET实现都实现了必须的库。应用程序不需要重新编译就可以运行在新的硬件平台或操作系统上。从理论上讲在调用API时可能会捕获到NotSupportedException异常但那种情况应该很少见。 小结 .NET Standard是一项API规范每一个特定的版本都定义了必须实现的基类库。 .NET Core是一个托管框架针对构建控制台、云、ASP.NET Core和UWP应用程序进行了优化。每一种托管实现如Xamarin、.NET Core或.NET Framework都必须遵循.NET Standard实现BCL。 原文地址http://www.infoq.com/cn/news/2017/10/dotnet-core-standard-difference.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注