.NET Core 和 ASP.NET Core 之间到底有什么区别?
它们是相互排斥的吗?我听说 ASP.NET Core 是基于 .NET Core 构建的,但它也可以构建在完整的 .NET 框架上。
那么 ASP.NET Core 到底是什么?
2020 年更新 :请注意,ASP.NET Core 3 及更高版本现在依赖于 .NET Core,并且不能再在 .NET Framework 上使用。以下描述适用于 ASP.NET Core 1.x-2.x;层分离仍然适用于 ASP.NET Core 3.0,但 ASP.NET Core 层不能再在 3.0+ 中的 .NET Framework 之上使用。
.NET Core 是一个运行时。它可以执行为其构建的应用程序。
ASP.NET Core 是构成用于构建 Web 应用程序的框架的库的集合。ASP.NET Core 库可用于 .NET Core 和“完整的 .NET Framework”(多年来随 Windows 一起提供)。
令人困惑的是,使用 ASP.NET Core 的库和工具的应用程序通常被称为“ASP.NET Core 应用程序”,理论上并没有说明它是为 .NET Core 还是为 .NET Framework 构建的。因此,“ASP.NET Core 应用程序” 也是 “.NET Core 应用程序”或“.NET Framework 应用程序”。
此图显示了所涉及技术的关系(取自此博客文章)
在这里,您可以看到 ASP.NET Core 构建在 .NET Framework 和 .NET Core 的“之上”,而“ASP.NET”(现在通常称为“经典 ASP.NET”)仅是 .NET Framework。