技术资源

.NET CORE 基础介绍

发布时间:2016/7/25 9:58:40    来源地址:本站原创
asp.net core rtm 6月进行了正式的发布。在asp.net 4.6长期稳定的情况下,微软推出了,跨平台的.Net Core。不需如同.Net Framework那般需要借助于Mono运行于平台之上。.

首先让我们来看下,.Net Core和.NET的区别

大家都知道 .Net Core是跨平台的,除了运行在windows上之外,还可以运行在Linux和Mac OS上。而 .Net Framework只能运行在windows上或者借助于Mono运行于其他平台上。 .Net Core和 .Net Framework可以理解为一个子集和父集的关系,之所以 .Net Core带了个Core是因为它包含了 .Net Framework的一些核心的功能和特性,比如它们共享GC (Garbage Collection,垃圾收集,垃圾回收),jit(Just-In-Time )编译器,还有类型系统和语言特性等。

那么 asp.net 和 asp.net core 的区别呢?

asp.net 目前的版本是asp.net 4.6,它已经被使用了很多年了,它比较稳定,如果你的系统不需要跨平台,只是在windows上运行的话,可以使用asp.net 4.6, 它很稳定并且很多第三方库都对其进行了支持。

asp.net core 是采用了 .net core的新一代asp.net架构程序。目前的版本是RC2。

下面这张图就是他们之间的关系:



我们再来了解下.Net的Framework们

2002年微软公司发布的第一个.NET框架————.NET Framework,不久后又发布了.NET Compact Framework 用于在较小的移动设备(Windows mobile),而.NET Compact Framework 也含有一套 类似.NET Framework 体系(Runtime, Framework,Application Model),它是一个复制精简版的 .NET Framework。在数年间微软乐此不疲的推出了数个类似 .NET Framework的框架,以用于在不同的设备和平台上运行。每个Framework都有类似的体系但又不完全相同的,这样Framework越来越多,对开发者来说不一样的设备即便功能相同也需要维护多套代码,增加了开发的复杂度。



.NET Core是一个开源的模块化的Framework,不管是开发web或移动设备都在同一个Framework(.NET Core)下运行,而且 .NET Core也可在不同的操作系统上运行,包括Windows、linux、MacOS,实现了跨平台跨设备。

  更棒的是.NET Core 在发布程序时不用事先安装Framework而是通过Nuget下载,这样在初次部署时就不用安装一个复杂而庞大Framework,而是按需下载。这种基于Nuget的按需加载铸就了.NET Core 跨平台。



.NET Core 构成体系如下:

1. Runtime

  在.NET Core 中有实现两种RunTime,NativeRuntime 和 CoreCLR。NativeRuntime 将C# 或 VB.net 代码直接转换为原生机器码。而CoreCLR是一个开源的JIT运行时,会将代码编译成中间语言(IL)在最终运行时再转换机器码。

2. Unified BCL

  Base Classlibrary即基础类,例如 FileSystem、Console、XML操作等。

3. Windows Store AppModel & ASP.NET Core 1.0

  提供开发Windows系统的各种触屏设备和ASP.NET程序的一组基础库。




业务咨询热线:

020-82038459

产品售后服务专线:

020-82038459

在线咨询: