ASP.NET 5,.NET Core和ASP.NET Core 5有什么区别?

ija*_*jaz 69 .net asp.net .net-core asp.net-core

我对这些术语之间的区别感到困惑:

  • ASP.NET 5(现在重命名为ASP.NET Core并发布为1.0,而不是5.0)
  • ASP.NET Core 5
  • .NET核心

有人能简单解释一下吗?

小智 63

ASP.NET 5(现在是ASP.NET Core 1.0)

是下一代ASP.NET,它为Web和云场景提供了熟悉的现代框架.它包括ASP.NET MVC的下一个版本,Web API,Web页面和SignalR.它是一种高性能和模块化设计,并且支持完全并行,可以无缝地从内部迁移到云.这些产品由ASP.NET团队与开源开发人员社区合作开发.我们一起致力于为Web开发创建最佳平台.

更新:它已从ASP.NET 5重命名为ASP.Net Core 1.0.

.NET核心:

.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简介


Shr*_*ike 10

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".

  • 如果你的意思是现在所谓的".NET Core 1.0"将成为所有".NET"的未来,而不仅仅是那个,是的我同意你的意见,但可能需要很长时间才能看到winforms或wpf或者.Net Core的任何其他桌面GUI工具包..NET 4.6是一个成熟的桌面和Web平台,.NET Core 1.0显然不是桌面平台.在Web方面,.NET核心是一个1.0版本,生产就绪,但还不成熟. (2认同)