我对这些术语之间的区别感到困惑:
- ASP.NET 5(现已重命名为ASP.NET Core,并且发布为1.0,而不是5.0)
- ASP.NET Core 5
- .NET核心
谁能简要解释一下?
Answers:
是下一代ASP.NET,可为Web和云方案提供熟悉的现代框架。它包括ASP.NET MVC,Web API,Web Pages和SignalR的下一版本。它是一种高性能的模块化设计,并支持全部并排,从而可以无缝地从内部迁移到云。这些产品由ASP.NET团队与开放源代码开发人员社区共同积极开发。我们将共同致力于创建最佳的Web开发平台。
更新:它已从ASP.NET 5重命名为ASP.Net Core 1.0。
.NET Core是经过优化的小型运行时,它是ASP.NET Core的基础。它当前可在Windows,Linux和Mac上运行。它是一种高性能的模块化设计,并支持在Web服务器上拥有多个应用程序,每个应用程序都有自己的.NET Core运行时副本,从而可以提供完整的并排体验,并且可以轻松地采用新的。 NET Core版本而不会影响其他应用程序,这使.NET Core体系结构比当前经典的.NET 4.6有了飞跃。这些产品由.NET团队积极开发,并与开放源代码开发人员社区合作。我们共同致力于使用新功能和新方案来改进和扩展.NET平台。
.NET Core具有两个主要组件。它包括一个小型运行时,该运行时使用与.NET Framework CLR相同的代码库构建。.NET Core运行时包含相同的GC和JIT(RyuJIT),但不包含应用程序域或代码访问安全性之类的功能。运行时通过Microsoft.CoreCLR包在NuGet上交付。
.NET Core还包括基类库。这些库与.NET Framework类库的代码基本相同,但是已经进行了分解(消除了依赖项)以使我们能够发布较小的库集。这些库作为NuGet.org上的System。* NuGet软件包提供。
有关更多信息,请参见.NET Core简介
ASP.NET 5是基于DNX(.NET执行环境)的新平台。DNX负责加载CLR。现在有两种DNX:用于完全.NET CLR(来自.NET Framework)和用于CoreCLR。CoreCLR是一种新的跨平台轻型CLR(在Win / Linux / Mac上运行)。
ASP.NET 5在CLR / CoreCLR上无缝运行,因为DNX从正在使用的运行时中抽象出来。
为旧.NET构建的IL程序集仍可与新CoreCLR和DNX一起使用。因此,ASP.NET 5功能是一堆nuget程序包。
严格来说,现在没有诸如“ asp.net core 5”和“ .net core”之类的东西(如CLR!= .NET)。有“在CoreCLR上运行的ASP.NET 5”。
IMO最好将“ ASP.NET 5”视为“ .NET 5”。
还没有ASP.net Core 5。实际上,Microsoft决定将.net 5(4.6之后的版本)更改为一个新名称:.net Core
因此,2016年6月发布的版本实际上是.net Core 1.0
他们给它起一个新名字的原因是他们所做的非常根本的改变。
这些基本变化包括:
ASP.NET Core是ASP.NET MVC 5的下一个版本,是的,版本号令人困惑!它经历了一些名称更改。它以ASP.NET vNext开头,然后更改为ASP.NET 5,然后重命名为ASP.NET MVC 6,最终成为ASP.NET Core 1.0。
ASP.NET和ASP.NET Core之间的主要区别是
引入了新的较轻版本的CLR和具有非依赖框架的程序集。
框架是一个完整的重写 (使用DI删除依赖项)及其开源项目。
改进了新的安全功能,并完全取消了其所有依赖框架的耦合。
更新的项目模板具有基于angular和json的配置以及增强的程序包与节点模块的支持。
如果您是新手,请参考这里
ASP.NET Core,即1.0 / 2.0 ... ASP.NET Core是一个开放源代码,跨平台框架,用于在Windows,macOS或Linux上构建基于云的现代Web应用程序。
ASP.NET,即... 4.5 / 4.6 ASP.NET是一个成熟的框架,可提供在Windows上构建企业级基于服务器的Web应用程序所需的所有服务。
没有ASP.NET Core 5和.NET Core这样的东西。 ASP.NET 5与ASP.NET Core 1.0相同
请参考链接:https : //docs.microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.0