.NET Core是否等同于.NET Framework 5?

49

我一直在寻找能学习最新.NET Framework的书籍。据我所知,.NET已经更新到4.6,而ASP.NET已经更新到5(Core)。

.NET Core是.NET 5的名称还是我们仍然停留在.NET 4.6上?


4
“核心”版本首次发布于2002年12月,当时被命名为.NET Compact并面向便携设备。该名称因遭受苹果公司的致命打击而退出使用,但在Silverlight、XBox、Windows Store和Windows Phone中得以延续使用。它与.NET Framework不同,一直被设计成小巧易用,缺少CLR和框架中的许多功能。版本5已开源,并在稍后更名回1.0。今天,它已经不再是小巧的了。 - Hans Passant
不是ASP.NET,但如果您返回到第一个标题,答案将变为真 :) - gurkan
5个回答

46

引用 Scott Hansleman 的话:

命名是很困难的。很容易坐在椅子上指点江山,说“他们应该把它命名为Foo,这样就容易了”,但通常有很多人参与命名。ASP.NET是一个好的“品牌”,已经存在了15年左右。ASP.NET 4.6是一个受支持和发布的产品,您现在可以从http://get.asp.net获取并使用。
然而,将全新编写的ASP.NET框架命名为“ASP.NET 5”是一个不好的想法,因为有一个主要原因:5 > 4.6,这使得ASP.NET 5看起来更大、更好,取代了ASP.NET 4.6。事实并非如此。
因此,我们正在更改名称并选择更好的版本号。
重新引入ASP.NET Core 1.0和.NET Core 1.0
- ASP.NET 5现在是ASP.NET Core 1.0。 - .NET Core 5现在是.NET Core 1.0。 - Entity Framework 7现在是Entity Framework Core 1.0或EF Core 1.0俗称。
为什么是1.0?因为这些都是新的。整个.NET Core概念都是新的。.NET Core 1.0 CLI非常新。不仅如此,.NET Core并不像完整的.NET Framework 4.6那样完整。我们仍在探索服务器端图形库。我们仍在探索ASP.NET 4.6和ASP.NET Core 1.0之间的差距。

更新

2019年5月7日,微软宣布了.NET 5

今天,我们宣布.NET Core 3.0之后的下一个版本将是.NET 5。这将是.NET家族中的下一个重要版本。未来只会有一个.NET,并且您可以使用它来针对Windows、Linux、macOS、iOS、Android、tvOS、watchOS和WebAssembly等进行开发。 .NET 5 = .NET Core vNext .NET 5是.NET Core的下一步发展。该项目旨在通过以下几个关键方面改进.NET: - 生产一个单一的.NET运行时和框架,可以在任何地方使用,并具有统一的运行时行为和开发人员体验。 - 通过借鉴.NET Core、.NET Framework、Xamarin和Mono的优点来扩展.NET的功能。 - 基于单个代码库构建该产品,使开发人员(包括Microsoft和社区)可以共同开发和扩展,并改进所有场景。

29
我们从2001年的.NET 1版本开始,经历了1.12.03.03.54.54.64.74.81.02.03.0等多个版本,最终在2020年终于迎来了期待已久的5.0版本! - Dai
12
长话短说:对于微软来说,名称和版本只是公关工具。不要试图在其中寻找任何技术逻辑。 - Al Kepp
提供了解决这个困惑的答案。https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-5 - San

33

如果你在 2019 年 5 月 6 日之后来到这里,那么现在有一个新的回答可以告诉你 是什么。简而言之,.NET Core 和 .NET Framework 将合并为 .NET 5,并且将会是 "唯一的 .NET"。

我们也借此机会简化命名。我们认为,如果只有一个 .NET,我们就不需要像“Core”这样的澄清术语了。更短的名称是一种简化,同时也表明 .NET 5 具有统一的功能和行为。

原始公告和新的.NET时间表可以在.NET博客上找到,并且在Build 2019中由Scott Hanselman 主持的一个会议(时间戳:52:30)中进行了讨论。


这对像我这样的新手来说是一个问题... 我是否可以安全地从头开始在 .NET Core 3 中启动项目,还是最好等待 .NET 5? - volume one
5
@volumeone 我认为从Core 3到.NET 5的任何变化都不太可能如此巨大,以至于最好根本不开始。 - John
1
如果整个框架和核心一起使用,你如何知道你是否正在启动一个这样的项目?例如配置文件 - 你如何知道你的项目应该使用 appsettings.json 还是 web/app.config? - Rich

10

自2019年5月6日起,我们可以回答“是”的这个问题。 .NET Core将更名为.NET 5,将于2020年11月发布,传统的.NET Fx v4.x将不再受到微软的支持。

有关所有详细信息,请参见2019年5月6日发布的 Microsoft 博客公告:Introducing .NET 5


1
这是否意味着,如果我今天在 .Net Core 3 中启动一个网站,一旦 .Net 5 推出,它就可以正常工作,无需进行任何更改? - volume one
我不是微软的工作人员,无法给出确切回答,但我的猜测是:您的.NET Core 3网站应该可以在.NET 5上正常工作。 - Patrick from NDepend team

4

来自.NET 5的最新功能:

.NET 5.0是继3.1之后.NET Core的下一个主要版本。我们将这个新版本命名为.NET 5.0而不是.NET Core 4.0,原因有两个:

  • 我们跳过了版本号4.x,以避免与.NET Framework 4.x混淆。
  • 我们从名称中删除了“Core”以强调这是未来.NET的主要实现。.NET 5.0支持比.NET Core或.NET Framework更多类型的应用程序和更多平台。 ASP.NET Core 5.0基于.NET 5.0,但保留了“Core”名称,以避免与ASP.NET MVC 5混淆。同样,Entity Framework Core 5.0也保留了“Core”名称,以避免与Entity Framework 5和6混淆。

你需要让这个答案的文字更加明显地表明它不是你自己写的(尽管重复的“我们”已经很明显了)。仅在答案末尾添加一个 ^ 链接是难以注意到且不足够的。请参阅如何引用其他人编写的材料 - Lance U. Matthews

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接