. net Core和ASP之间到底有什么区别?网络核心?
它们是相互排斥的吗?我听到ASP。NET Core构建在。NET Core之上,但它也可以构建在完整的。NET框架之上。
ASP到底是什么。网络核心?
ASP。NET Core是.NET Core支持的工作负载之一。
从。NET核心指南:
就其本身而言,. net Core包括一个单一的应用程序模型——控制台应用程序——这对于工具、本地服务和基于文本的游戏非常有用。在.NET Core之上构建了更多的应用程序模型来扩展它的功能,例如: ASP。网络核心 Windows 10通用Windows平台(UWP) Xamarin的。形式
就其本身而言,. net Core包括一个单一的应用程序模型——控制台应用程序——这对于工具、本地服务和基于文本的游戏非常有用。在.NET Core之上构建了更多的应用程序模型来扩展它的功能,例如:
更新2020:注意ASP。NET Core 3及更高版本现在依赖于。NET Core,不能再用于。NET Framework。下面的描述是针对ASP。NET Core 1.x-2.x;层分离仍然适用于ASP。NET Core 3.0,而ASP。在3.0+版本中,NET核心层不能再用于。NET Framework之上。
. net Core是一个运行时。它可以执行为它构建的应用程序。
令人困惑的是,一个使用ASP库和工具的应用程序。NET Core通常被称为“ASP。这在理论上并没有说它是为。NET Core还是。NET Framework构建的。所以ASP。NET核心应用程序“是也 a”。NET核心应用程序"或"。NET框架应用程序”。
ASP。NET Core< em>using .NET Core -所有依赖项都是自包含的,可以使用大多数NuGet包,不能使用Windows特定的包,可以在Windows、Linux和Mac上执行。
ASP。NET Core using .NET Framework -大多数依赖项是自包含的,只在Windows上执行,可以访问特定于Windows的NuGet包,需要目标安装在机器上的. net框架版本。
. net框架已经发布了最后一个版本。4.8之后不会再有了。微软将继续使用。net Core。从现在开始,你应该在你的项目中使用。net Core。
官方更新(源):
. net 5是继。net Core 3.1之后的下一个主要版本。我们将这个新版本命名为。net 5而不是。net Core 4有两个原因: 我们跳过了版本号4。.x以避免与. net Framework 4.x混淆。 我们放弃了“核心”;. net 5比. net Core或. net Framework支持更多类型的应用和平台。 ASP。NET Core 5.0基于。NET 5,但保留了“Core”的名称。以避免与ASP混淆。Net MVC 5。同样,实体框架核心5.0保留了“核心”的名称;以避免与实体框架5和6混淆。
. net 5是继。net Core 3.1之后的下一个主要版本。我们将这个新版本命名为。net 5而不是。net Core 4有两个原因:
ASP。NET Core 5.0基于。NET 5,但保留了“Core”的名称。以避免与ASP混淆。Net MVC 5。同样,实体框架核心5.0保留了“核心”的名称;以避免与实体框架5和6混淆。
.NET Core是.NET Framework的下一个进化版本,允许微软技术托管在其他操作系统平台上,而不是Windows。
ASP。NET是web框架由微软提供用于构建:
ASP。NET只能在Windows平台上运行。
由于. net Core的创建是为了提供在Linux/macOS之上运行微软技术的能力,这意味着ASP。NET Core是ASP的进化。NET方向的多平台支持。
结论:
ASP。NET Core运行在。NET Core和。NET 5.0上,在多个操作系统平台之上:Windows, Linux和amp;macOS。
ASP。净4。x (ASP.NET/ASP。NET MVC)只运行在。NET框架上,在Windows操作系统之上。