.NET Core 和 ASP.NET Core 是由微软开发的开源、跨平台的框架,旨在构建现代应用程序。它们共享核心功能,但目标用途有所不同。本文主要简单介绍一下.NET Core和ASP.NET Core,以及它们之前的联系和区别。

1、.NET Core简介

.NET Core是适用于 windows、linux 和 macos 操作系统的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),.NET Core 是一个通用的、跨平台的开发框架,用于构建各种应用,包括控制台应用、桌面应用、云服务、和网络服务等。它可以在 Windows、macOS 和 Linux 上运行,具有高性能、轻量级、模块化的特点。自 .NET 5 开始,微软统一了所有 .NET 框架,将 .NET Core 更名为 .NET。

2、ASP.NET Core简介

ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 Internet 的新式应用程序。 使用 ASP.NET Core,可以:

  • 创建 Web 应用程序和服务、IoT 应用和移动后端。
  • 在 Windows、macOS 和 Linux 上使用喜爱的开发工具。
  • 部署到云或本地。
  • 在 .NET Core 或 .NET Framework 上运行。

基于 .NET Core 构建的框架,专门用于开发 Web 应用和 API,适合构建现代化的、可扩展的网络应用。ASP.NET Core 提供了高性能、灵活的 Web 服务器支持,并且可以使用多种中间件、依赖注入和 Razor 视图等功能。

3、.NET Core和ASP.NET Core区别

1).NET Core是运行时。它可以执行为其构建的应用程序。ASP.NET Core是构成一个用于构建Web应用程序的框架的库的集合。ASP.NET Core库可以在.NET Core和“完整.NET Framework”(Windows附带许多年)上使用。

2)使用.NET Core的 ASP.NET CORE 所有依赖项都是自包含的,可以使用大多数Nuget包,不能使用Windows特定的包,可以在Windows,Linux,Mac上执行

3)使用.NET Framework的 ASP.NET CORE大多数依赖项都是自包含的,仅在Windows上执行,将有权访问Windows特定的Nuget软件包,需要在计算机上安装有针对性的.NET Framework版本

参考文档:

https://baike.baidu.com/item/.net%20core/20130686?fr=aladdin
https://docs.microsoft.com/zh-cn/aspnet/core/?view=aspnetcore-2.2
https://docs.microsoft.com/en-us/dotnet/core/index#workloads

推荐文档