.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows、Mac OSX、Linux) 的应用程序开发框架(Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台。.Net Core也是微软在一开始发展时就开源的软件平台,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。
由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类别库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。
如今.NET Core在C#开发人员中越来越受欢迎,但是大部分开发人员还是不会使用。鉴于此,从本篇文章开始,将帮助大家逐步了解.NET Core 应用程序。希望大家能够逐步学习、尽快掌握这一新的框架技术。
.NET Core是.NET Framework的新版本,.NET Framework是由Microsoft维护的免费,开源,通用开发平台。它是一个跨平台框架,可在Windows,macOS和Linux操作系统上运行。
.NET Core Framework可用于构建不同类型的应用程序,例如移动,桌面,Web,云,IoT,机器学习,微服务,游戏等。
.NET Core是从零开始编写的,以使其成为模块化,轻量级,快速和跨平台的框架。它包括运行基本.NET Core应用程序所需的核心功能。
NuGet软件包提供了其他功能,您可以根据需要将其添加到应用程序中。并且.NET Core应用程序可以提高性能,减少内存占用并易于维护。
.NET Framework有一些限制。例如,它仅在Windows平台上运行。另外,你需要为不同的Windows设备(例如Windows桌面,Windows应用商店,Windows Phone和Web应用程序)使用不同的.NET API。除此之外,.NET Framework是机器范围的框架。对其所做的任何更改都会影响所有依赖它的应用程序。
如今,拥有跨设备运行的应用程序已很普遍。比如Web服务器上的后端,Windows桌面,移动应用程序等都用于消费者的使用。因为需要在任何地方都可以使用的单一框架,所以考虑到这一点,Microsoft创建了.NET Core。.NET Core的主要目标是使.NET Framework开源,跨平台兼容,从而可以在从数据中心到基于触摸的设备的各种垂直领域中使用。
开源框架: .NET Core是 由Microsoft维护的开源框架,可根据MIT和Apache 2的许可在GitHub上使用。这是一个.NET Foundation项目。
您可以使用以下GitHub存储库查看,下载或为源代码做贡献:
跨平台: .NET Core在Windows,macOS和Linux操作系统上运行。
跨体系结构一致:在不同的指令集体系结构(包括x64,x86和ARM)中以相同的行为执行代码。
广泛的应用程序:可以在.NET Core平台上开发和运行各种类型的应用程序,例如移动,桌面,Web,云,物联网,机器学习,微服务,游戏等。
支持多种语言:您可以使用C#,F#和Visual Basic编程语言来开发.NET Core应用程序。您可以使用自己喜欢的IDE,包括Visual Studio 2017/2019,Visual Studio Code,Sublime Text,Vim等。
模块化体系结构: .NET Core支持使用NuGet软件包的模块化体系结构方法。可以根据需要将各种功能的不同NuGet软件包添加到.NET Core项目中。甚至.NET Core库也以NuGet包的形式提供。默认.NET Core应用程序模型的NuGet程序包是Microsoft.NETCore.App。
这样,它减少了内存占用,提高了性能,并且易于维护。
CLI工具: .NET Core包括用于开发和持续集成的CLI工具(命令行界面)。
灵活的部署: .NET Core应用程序可以在用户范围或系统范围内部署,也可以与Docker容器一起部署。
兼容性:通过使用.NET Standard规范,与.NET Framework和Mono API兼容。
版 | 最新版本 | 视觉工作室 | 发布日期 | 终止支持 |
---|---|---|---|---|
NET 5 | 预览1 | VS 2019 | 2020年3月16日 | |
.NET Core 3.x-最新 | 3.1.3 | VS 209 | 2020年3月24日 | 2022年3月12日 |
.NET Core 2.x | 2.1.17 | VS 2017、2019 | 2020年3月24日 | 2021年8月21日 |
.NET Core 1.x | 1.1.13 | VS 2017 | 2019年5月14日 | 2019年5月27日 |
.NET 3.1和.NET Core 2.1都将提供长期支持。
.NET Core 3.x应用程序只能在.NET Core Framework上运行。
.NET Core 2.x应用程序可在.NET Core和.NET Framework上运行。
.NET Core框架由以下部分组成:
.NET Core
ASP.NET Core是ASP.NET Web框架的新版本,主要旨在.NET Core平台上运行。
ASP.NET Core是一个免费的,开放源代码和跨平台的框架,用于构建基于云的应用程序,例如Web应用程序,IoT应用程序和移动端。它旨在云和本地环境中运行。
与.NET Core一样,它以最小的开销进行模块化设计,然后可以根据应用程序要求将其他更高级的功能作为NuGet软件包添加。这样可实现高性能,需要更少的内存,更小的部署大小以及易于维护。
ASP.NET Core是Microsoft和社区支持的开放源代码框架,因此您还可以从Github上的ASP.NET Core库中贡献或下载源代码。
ASP.NET 3.x仅在.NET Core 3.x上运行,而ASP.NET Core 2.x在.NET Core 2.x和.NET Framework上运行。
ASP.NET Core
.NET Core | ASP.NET Core |
---|---|
开源和跨平台 | 开源和跨平台 |
.NET Core是一个运行时,用于在其上执行应用程序。 | ASP.NET Core是一个Web框架,用于在.NET Core或.NET Framework的顶部构建Web应用程序,IoT应用程序和移动后端。 |
安装.NET Core运行时以运行应用程序,并安装.NET Core SDK来构建应用程序。 | 没有单独的运行库,并且ASP.NET Core没有可用的SDK。.NET Core运行时和SDK包括ASP.NET Core库。 |
.NET Core GitHub存储库: .NET Core运行时 .NET Core SDK |
ASP.NET Core GitHub存储库:https://github.com/dotnet/aspnetcore |
.NET Core 3.1-最新版本 | ASP.NET Core 3.1 ASP.NET Core 没有单独的版本控制。它与.NET Core版本相同。 |