ASP.NET Core从入门到精通
上QQ阅读APP看书,第一时间看更新

1.1 认识.NET Core

.NET Core是微软推出的新一代免费、跨平台、开放源代码的开发平台,用于生成多种类型的应用程序。本节将带领大家认识.NET Core。

1.1.1 .NET Core与.NET Framework

.NET Core的概念最早出现在2014年,2014年之前,提到.NET,一般都是指.NET Framework。.NET Framework虽然宣称跨平台,但在实际使用中,微软并没有提供非Windows平台的实现。2014年微软新的CEO上任后,将“开源”“跨平台”“云计算”作为了微软公司的主要方向,这使得原来的.NET Framework不再适用于未来的发展。于是,微软计划推出一个全新的跨平台技术,将其命名为.NET Core,在2016年6月正式发布了.NET Core 1.0版本。

但需要注意的是,.NET Core不只是.NET Framework的简单升级,一开始,微软的确是考虑从.NET Framework升级一个新的跨平台技术,但由于.NET Framework是高度依赖于系统级别的一个平台,如果强行从其升级进行跨平台,需要做很多兼容性的处理工作,而且可能会将.NET Framework的很多设计缺陷带入下一代系统,因此,微软的团队决定推倒重来,从头开发.NET Core,但这并不意味着.NET Core和.NET Framework一点关系都没有,.NET Core中的很多代码都是从.NET Framework中迁移或者改造过来的,因此,.NET Core中的大部分技术、类库的使用方法都和.NET Framework中保持一致,这使得原来.NET Framework开发人员掌握的绝大部分技术都可以迁移到.NET Core中,降低了学习难度。

1.1.2 .NET Core与.NET

.NET Core是全新的跨平台开发技术,而.NET在2014年之前一般是指.NET Framework,2014年之后,提到.NET,通常是指.NET Standard、.NET Framework、.NET Core和Xamarin的集合,如图1.1所示。

图1.1 2014年后的.NET体系

但微软在发布.NET Core 3.1版本之后,为了避免与.NET Framework 4.x混淆,直接跳过了代号为4的版本,将.NET Core统一为.NET,并发布了.NET 5.0版本。

因此,现在微软官方的.NET其实就是早期版本的.NET Core,但本书为了避免与2014年之前的.NET混淆,一般将讲解的内容称为.NET Core,但遇到一些特殊语境或者情况(如介绍版本时),会使用.NET的说法。

1.1.3 .NET Core的特点

.NET Core主要具有以下特点:

跨平台:使用.NET Core编程的应用可以在Windows、Linux和macOS等平台上运行。

 多语言支持:可以使用C#、F#或Visual Basic编写.NET Core应用。

 一致的API:.NET Core提供一组标准的基类库和API,这些库和API对所有.NET Core应用程序都是通用的。

 免费且开源:.NET Core是免费的开放源代码,是一个.NET Foundation项目,由Microsoft和GitHub上的社区在几个存储库中维护。

 应用程序模型:可以使用.NET Core生成多种类型的应用。

 .NET Core软件包生态系统库:为了扩展功能,微软和其他公司维护着一个正常的.NET Core软件包生态系统,NuGet是专为包含了500多万个包的.NET Core构建的包管理器。

1.1.4 .NET Core的版本

.NET Core的新版本通常于每年11月发布,奇数年份发布的.NET Core版本为长期支持版本(LTS版),支持期为三年,而偶数年份发布的版本为标准期限支持版本(STS版),支持期为18个月,其发布节奏如图1.2所示。

图1.2 .NET Core版本发布节奏

截止到现在,.NET Core的常用主流版本为.NET 7.0(.NET 8.0已经于2023年11月14日发布),发布于2022年11月8日,其版本发展及支持期限如表1.1所示。

表1.1 .NET Core的版本及支持期限

说明

在.NET Core版本的支持期限内,系统会实时保持已发布补丁更新的最新状态,但并不是说过了支持期限的.NET Core版本就不能再使用了,而是过了支持期限后,微软不会再为其发布更新补丁,但不影响其原有功能的使用,就比如我们使用Windows XP系统,虽然微软早已停止了对其的支持,但如果你有需要,依然可以使用已有的Windows XP系统。

1.1.5 .NET Core的应用领域

.NET Core主要应用领域如图1.3所示。

图1.3 .NET Core的应用领域