Document

DotNet Core 介绍

DotNet Core 介绍

 

前言

asp.net core rtm 6月底即将发布,自己也想着为社区做点共享,刚好最近不太忙,看到社区的小伙伴们都在为dotnet core的推广而贡献力量,项目中刚好在用rc2版本,就多写些文章来帮助那些还在学习的朋友们吧。


目录

  • dotnet core 和 .net的区别
  • github中dotnet core各个项目的状况

一、 dotnet core 和 .net的区别

目前在使用C#开发应用程序的时候,有两种框架可供选择: .Net Framework 和 .Net Core,那他们有什么不同的地方呢?或者说是微软为什么要做两个框架,在同一个平台上运行不好吗?就先让我们一起看看他们之间的不同。

大家都知道 .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。后面会对其进行大量介绍。

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

二、 github中dotnet core各个项目的状况

有一点值得我们开发者高兴的是,现在微软 .net 相关的大多数项目都是开源的,托管在github上,我建议大家有不懂的地方多去查看源代码,来了解其中的运行原理,以便于对知识的更好的理解和吸收。

  • .NET Compiler Platform ("Roslyn")
    .NET编译器。提供的开源Csharp和Visual Basic编译器及代码解析API

  • .NET Core Framework
    也被叫做CoreFx,提供Core的基础程序集类库,它包括collections, file systems, console, XML, async等.

  • .NET Core Runtime
    也被叫做CoreCLR,它包括了 .net core的runtime(运行时),和mscorlib(基础库),它包含的有GC(垃圾回收),JIT(just-in-time)编译器, 类型系统(.NET data types),和其他一些底层的类库。

  • ASP.NET Core
    它包含以下Project:

    1. DependencyInjection - 基础的依赖注入项目和默认的实现
    2. EntityFramework - ORM 数据库访问组件
    3. Identity - 用户身份验证系统
    4. MVC - Web项目的MVC框架
    5. Razor - MVC的模板语言和CSHTML文件语法解析
    6. Templates - Visual Studio新建项目的默认模板
    7. Tooling - Visual Studio 工具集, 编辑器 等

posted @ 2020-12-13 21:04  从未被超越  阅读(1968)  评论(0编辑  收藏  举报