一,什么是.net core
.NET Core是适用于 Windows、Linux 和 macOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台 ,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。
由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 打包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。
二,.net core的组成
.Net Core主要有以下几部分组成:
NET Core Runtime:及.NET Core CLR。其与.NET Framework的CLR并没有多大区别,类型系统、进程管理、GC(垃圾回收)、JIT(RyuJIT编译器)等功能都是一样的,只是针对服务器系统做了相应的优化。现在.NET Framework CLR和.NET CoreCLR都在进行同步更新。
.NET Core Framework Libraries:及.NER Core框架类库。包括集合类、文件处理、XML处理等框架类库。
ASP.NET Runtime:及ASP.NET 运行时,提供框架以生成基于新式云的 Internet 连接的应用程序,例如 Web 应用、IoT 应用以及移动后端。
.NET Core CLI 工具和语言编译器(Roslyn 和 F#):提供 .NET Core 开发人员体验。
dotnet 工具:用于启动 .NET Core 应用和 CLI 工具。它选择运行时并托管运行时,提供程序集加载策略并启动应用和工具。
这些组件采用以下方式进行分步:
NET Core 运行时 -- 包括 .NET Core Runtime和框架库(.NET Core Framework Libraries)。
ASP.NET Core 运行时 -- 包括 ASP.NET Core 和 .NET Core 运行时(.NET Core Runtime)以及框架库(.NET Core Framework Libraries)。
.NET Core SDK -- 包括 .NET CLI 工具、ASP.NET Core 运行时以及 .NET Core 运行时和框架。
三,.net core的特点
·跨平台:可在 Windows、macOS 和 Linux 操作系统上运行。
·跨体系结构保持一致:在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。
·命令行工具:包括可用于本地开发和持续集成方案中的易于使用的命令行工具。
·部署灵活:可以包含在应用或已安装的并行(用户或系统范围安装)中。 可搭配Docker 容器使用。
·兼容性:.NET Core 通过 .NET Standard 与 .NET Framework、Xamarin 和 Mono 兼容。
·开放源代码:.NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。.NET Core 是一个.NET Foundation 项目。
·由 Microsoft 支持:.NET Core 由 Microsoft该项目提供支持。