.NET Core与ASP.NET Core

blu*_*rbo 126 .net-core asp.net-core

.NET Core和ASP.NET Core之间究竟有什么区别?

它们是互相排斥的吗?我听说asp.net核心是基于.net核心构建的,但也可以构建在完整的.net框架上.

那么ASP.NET Core到底是什么?

Mar*_*ich 160

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

ASP.NET Core是一组库,它们构成了构建Web应用程序的框架.ASP.NET Core库既可以在.NET Core上使用,也可以在"Full .NET Framework"上使用(多年来Windows一直提供).

令人困惑的部分是使用ASP.NET Core的库和工具的应用程序通常被称为"ASP.NET核心应用程序" - 理论上它没有说它是为.NET Core还是.NET Framework构建的.因此,"ASP.NET核心应用程序" 也是 ".NET核心应用程序"或".NET Framework应用程序".

此图显示了所涉及技术的关系(摘自此博客文章) .NET Web应用程序技术

在这里,您可以看到ASP.NET Core是"在.NET Framework和.NET Core之上构建的",而"ASP.NET"(现在通常称为"经典ASP.NET")仅是.NET Framework.

  • 那么我们称之为经典ASP呢?"古代ASP"?:p (14认同)
  • @DanSchnau,我们有“经典ASP”,“ ASP.NET”又称为“经典ASP.NET”和“ ASP.NET Core”,因此完全没有冲突:) (3认同)

小智 29

ASP.NET CORE 使用.NET Core - 所有依赖项都是自包含的,可以使用大多数nuget包,不能使用特定于Windows的包,可以在windows,linux,Mac上执行

ASP.NET CORE 使用.NET Framework - 大多数依赖项是自包含的,只能在Windows上执行,可以访问特定于Windows的nuget包,需要安装在机器上的.net框架版本

  • 谁给这些东西命名?这太令人困惑了。 (34认同)
  • @Nick:微软营销。他们在这方面有着悠久的历史。他们还没有发现网络 - 使用产品的通用名词(在搜索引擎世界中不太好,因为更具体的不太常见的单词更好,最好是字典中没有的独特单词)。 (7认同)
  • 有点过时但相关:请注意,.NET 5.0 是 .NET Core 3.1 的后续版本,而不是 .NET Framework 4.0“以避免混淆”[https://learn.microsoft.com/en-us/dotnet/core/点网五] (4认同)

v-a*_*rew 18

ASP.NET Core是.Net Core支持的工作负载之一 https://docs.microsoft.com/en-us/dotnet/articles/core/#workloads

.NET Core本身包含一个应用程序模型 - 控制台应用程序 - 这对于工具,本地服务和基于文本的游戏非常有用.其他应用程序模型已构建在.NET Core之上,以扩展其功能,例如:

  • ASP.NET核心
  • Windows 10通用Windows平台(UWP)
  • Xamarin.Forms

  • 这对我来说是一个更相关的答案。.Net Core 用于控制台应用程序,ASP.Net Core 用于 Web 应用程序。 (3认同)

Din*_*dan 18

.NET Core 是 .NET Framework 的下一代发展,它允许 Microsoft 技术托管在其他操作系统平台上,而不是 Windows。

ASP.NET 是Microsoft 提供的Web 框架,用于构建:

  • 服务器端呈现的网页/网站
  • SPA 的服务器端组件
  • MVC-时尚应用程序
  • Web 服务/Web API/微服务

ASP.NET 仅在 Windows 平台上运行。

由于 .NET Core 的创建是为了提供在 Linux/macOS 之上运行 Microsoft 技术的能力,因此这意味着 ASP.NET Core 是 ASP.NET 在多平台支持方向上的演变。

综上所述:

ASP.NET Core 在 .NET Core 和 .NET 5.0 上运行,并在多个操作系统平台上运行:Windows、Linux 和 macOS。

ASP.NET 4.x (ASP.NET/ASP.NET MVC) 仅在 Windows 操作系统之上的 .NET Framework 上运行。

在此输入图像描述


小智 6

.NET Framework 是最后一个版本。4.8 之后不会再有另一个版本了。Microsoft 将继续使用 .NET Core。从这个时候开始,你应该更喜欢在你的项目中使用 .NET Core。