.Net Core是什么?
简单的说 .net core就是 .net framework的开源版本,也是 .net的发展方向。
复杂的说 .net core是一系列为开发者开发程序所提供的功能组件的集合,主要的组件包括clr,corefx,roslyn,cli,MSBuild等,更多 .net core开源项目可以查看 .net foundation的GitHub主页。
其中CLR相当于Java的虚拟机JVM,它是 .net core的执行引擎,主要负责内存管理,垃圾收集(GC),类加载以及JIT(即使编译器)将中间语言翻译为机器代码进行执行,并且提供了System.Object, System.String等核心类。
Corefx项目即为 .net core的“标准库”,包含集合,文件IO,网络,控制台,XML,异步等等等等...各种类库。
Roslyn是一个编译C#,VB源代码的开源编译平台,并且提供丰富的分析API。
CLI是 .net core的命令行工具(Command-Line Tools),所有与 .net core的交互都通过该工具实现包括:编译,nuget包管理,运行,测试,生成等等。(请勿与.NET的公共语言基础架构(Common Language Infrastructure)混淆,它的缩写也是CLI)。
MSBuild虽然不属于 .NET Foundation的开源项目,但是CLI工具使用它来生成 .net core项目。
.Net Core优势:
- 统一方式来构建WEB UI和WEB API
- 整合现代客户端框架和开发工作流程
- 可基于云环境,可配置的系统
- 内置依赖注入
- 轻量级、高性能和模块化的HTTP请求管道
- 能够在IIS上运行或在自宿主(self-host)的进程中运行
- 支持真正的并行应用版本控制
- 简化新式WEB开发工具
- 能够在WINDOWS、MACOS和LINUX上构建和运行的跨平台应用
- 开源并且重视社区