.Net Core简介
? ?一、为什么要推出.Net Core .Net FrameWrok在技术层面是完全具备跨平台的能力的,PC时代微软出于商业利益上的考虑,并没有对CRL提供非Windows平台的实现。在Windows平台上,.NET框架没有太多的竞争。微软可以对从操作系统内核层到高级.NET库的所有内容进行更改。2014年微软新的CEO上台,“开源”和“跨平台”成了大势所趋。通过将.NET引入其他平台,竞争环境发生了变化。.NET现在必须与其他所有的开发框架竞争。 二、.Net的跨平台架构 2016年,微软收购了Xamarin并发布了.NET Core 1.0。之前Xamarin已经移植了.NET框架的大部分内容来运行在基于Linux / Unix的操作系统上。一些代码可以在.NET Framework,Xamarin和新的.NET Core之间共享,但编译后的二进制文件不能。.NET Core的一部分努力是创建一个标准化的平台,允许所有.NET实现共享相同的库 ?三、.Net?Core .NET Core 具有以下特性:
.NET Core 包括以下部分:
这些组件采用以下方式分布:
? 上图描述了 .NET Core的系统构成,最上层是应用层,是开发基于UI应用的框架集,包括了ASP.NET Core(用于创建web app),和 UWP(用于创建Windows10 app)。 中间层是公共库(CoreFX),实现了.NET Standard Library,囊括了常用系统级操作例如(文件、网络等)。 在CoreFx下是运行时环境,.NET Core 包含了两种运行时(CoreCLR、CoreRT),CoreCLR是一种基于即时编译程序(Just in time compiler,JIT)的运行时,它使用了跨平台开源的编译器RyuJIT,而CoreRT是使用提前编译器(Ahead of time compiler,AOT)的运行时,它既可以使用RyuJIT来实现AOT编译也可以使用其他的AOT编译器。由于AOT提前编译IL成了机器码,在移动设备上也具有更好的启动速度和节能性。 最后还要提到一个开源的跨平台源代码编译器Roslyn,它有别于刚才两个编译器,JIT和AOT编译器主要用于将IL编译成本机机器码,而Roslyn是将C# 或 VB.NET 代码编译成程序中间语言(intermediate language,IL) ? 由于 .NET Core 支持并行安装及其运行时完全独立于 .NET Framework,它可以安装在装有.NET Framework 的计算机上,不会出现任何问题 代码开发、部署、运行过程 ?四、与 .NET Framework 比较 ? 由于.NET Framework主要以托管(C#)代码为基础构建,因此这些部分不需要更改代码即可移至.NET Core。但是像COM组件,注册表项,特殊文件夹,GAC - 都是为了利用Windows的特性而设计的。.NET Framework 依赖于这些构造,这使得它不适合其他操作系统。依赖于Windows特定组件的库必须被移除或重构以使用跨平台替代方案。 .NET Core 和 .NET Framework 的主要差异在于:
? 五、当前版本.NET Core 3.0 ? 参见:https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/ ?六、未来 .NET 5 = .NET Core vNext 详见: https://devblogs.microsoft.com/dotnet/introducing-net-5/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 数据绑定 – Windows应用商店应用中条件样式(或Style.Trigg
- windows-server-2008 – Windows x64上的MemCached
- Win7下安装openssl
- rest – Microsoft Graph API选择并过滤日历中的所有者地址
- 直线DDA,直线和圆的Bresenham算法
- 如何使用Powershell搜索Windows搜索索引文件
- iis-7 – 如何将本地IIS暴露给Windows 7上的其他PC?
- windows – 使用WPP跟踪多个ETW提供程序
- Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
- active-directory – 在Windows网络中部署打印机的最佳实践