2.1 .NET Core简介
.NET Core是一个通用的开发平台,由微软和GitHub上的.NET社区共同维护,它最重要的特点之一就是跨平台,支持Windows、macOS和Linux等操作系统。同时,.NET Core也是一个开源平台,它使用最宽松的MIT和Apache 2开源协议,允许任何人任何组织和企业任意处置,包括使用、复制、修改、合并、发布和再授权等。
.NET Core包含以下几部分内容。
CoreCLR:即.NET Core CLR,它是.NET Core的运行时(Runtime),包含垃圾回收器、JIT编译器、原生数据类型、本机交互操作及底层类等,CoreCLR使用改进的、跨平台开源编译器RyuJIT作为其编译器。
CoreFX:即.NET Core Libraries,又称基类库(Basic Class Library,BCL),它是.NET Core的基础类库,实现了.NET Standard,包含集合、文件系统、JSON、异步等API。
Roslyn编译器:用于将C#或VB.NET代码编译为程序集。
.NET Core CLI工具:用于构建.NET Core应用程序和类库。
除了.NET Core外,对于.NET开发人员来说,最为熟悉的.NET平台就是.NET Framework。它于2002年发布,在过去的十数年间,经过若干重大版本的迭代,截至目前,其最新版本为4.80.NET Framework支持多种不同的应用模型,能够用于开发Windows Forms及WPF等窗体应用程序,还可以开发ASP.NET网站、Web API、WCF服务和控制台应用程序等。
.NET Core与.NET Framework都是不同的.NET平台,它们之间最主要的区别是前者跨平台,而后者仅支持Windows平台。此外,.NET Core采用包化(Packages)的管理方式,应用程序只需要获取需要的组件即可,这与.NET Framework大包式安装的做法截然不同。同时,在.NET Core中,各个包也有独立的版本线,不再硬性要求应用程序跟随主线版本。
.NET Core支持的开发语言有C#、Visual Basic和F#语言,可以使用它们编写基于.NET Core的应用程序和类库。.NET Core支持的开发工具有多种,常见的有Visual Studio、Visual Studio Code、JetBrains Rider,除此之外,开发人员也可以根据自身偏好选择其他合适的开发工具或者编辑器。