.NET Core和ASP.NET Core到底有什么区别?

它们是互斥的吗?我听说ASP.NET Core建立在.NET Core上,但也可以在完整的.NET框架上构建。

那么ASP.NET核心到底是什么?

答案

Update 2020:请注意,ASP.NET Core 3及更高版本现在取决于.NET Core,并且不能再在.NET框架上使用。以下描述是用于ASP.NET Core 1.x-2.x;对于ASP.NET CORE 3.0,该层分离仍然是正确的,但是ASP.NET核心层不能再在3.0+中的.NET框架顶部使用。

.NET Core是一个运行时。它可以执行为其构建的应用程序。

ASP.NET Core是构成用于构建Web应用程序的框架的库集合。ASP.NET核心库都可以在.NET Core和" Full .NET Framework"(已使用Windows运输多年)上使用。

令人困惑的部分是使用ASP.NET Core的库和工具的应用程序通常称为" ASP.NET Core Application",从理论上讲,该应用程序是否是为.NET Core或.NET框架构建的。因此," ASP.NET核心应用程序"是also" .NET Core应用程序"或" .NET Framework应用程序"。

此图显示了相关技术的关系(取自这篇博客文章.NET Web Application Technologies

在这里,您可以看到ASP.NET Core是在" .NET Framework和.Net Core的顶部建造的,而" ASP.NET"(现在通常称为"经典ASP.NET")仅是.NET框架。

来自: stackoverflow.com