asp.net 4.6 MVC 5的未来

Ale*_*ksa 7 .net c# asp.net asp.net-mvc

我正在开始一个新项目,我将使用asp.net 4.6 mvc 5进行该项目.我还看到今年实体7,身份3和信号器3将会发布.

所以,我的问题是这些新版本是否也适用于asp.net 4.6或仅适用于新的.net核心平台?

SO *_*ood 9

来源:ASP.NET 5已经死了 - 介绍ASP.NET Core 1.0和.NET Core 1.0

需要明确的是,ASP.NET 4.6是更成熟的平台.它经过了经过实战考验,现已发布并可供使用.ASP.NET Core 1.0是1.0版本,包括Web API和MVC,但还没有SignalR或Web页面.它还不支持VB或F#.它将在某一天拥有这些子系统但不是今天.

我们不希望任何人认为ASP.NET Core 1.0是终点线.这是一个新的开始和分支,但ASP.NET 4.6继续,发布和完全支持.有很多很棒的东西,请继续关注!

编辑:ASP.NET Core 1.0 同样可以在.NET Core 1.0和.NET 4.6上运行,引用本文:

新版本将分别称为ASP.NET Core 1.0和Entity Framework Core 1.0.同样,新的跨平台版本的.NET将被称为.NET Core 1.0,以表明它不是.NET 4.6的超集.

同样,ASP.NET MVC 6将被称为ASP.NET MVC Core 1.0.因此,我们不再使ASP.NET,MVC和WebAPI之间的版本号不匹配.

到目前为止一切都那么好,但是当你开始组装这些碎片时,图片会变得有点复杂.ASP.NET 4.6运行在.NET 4.6之上.但是,ASP.NET Core 1.0可以在.NET 4.6和.NET Core 1.0上运行.


tom*_*dox 5

2016 年关于 EF Core 的答案

EF Core 是一次彻底的重写,尚不具备 .NET Framework EF6 的所有功能 - 因此您此时可能不想切换到它,除非您确实需要其新功能之一。

EF Core 本身并不直接依赖于 ASP.NET,您可以将它用于任何 .NET 应用程序。EF Core 的设计文档声明它将支持 .NET 4.5.1,因此只要您的应用程序面向该版本或更高版本,您就可以使用 EF Core。

从设计文档中,微软对 EF Core 有这样的说法(请注意本答案末尾的评论):

  • EF Core 是一个重大变更版本。当有更好的模式/API/等时。我们接受改变(除非好处微不足道)。
  • 在 RTM 1.0.0 发布之日,EF Core 不会取代 EF6。
  • 在一段时间内,EF6 仍将是许多应用程序的最佳选择。
  • 我们不会推动人们升级,将现有应用程序保留在 EF6 上是有效且受支持的。
  • 从 EF6 迁移到 EF Core 不是“升级”场景,而是“移植”场景。
  • EF Core 不是 EF6 的重新实现(EF Core 具有更简单的映射功能,没有 EDM 等)。

2022年注

在最初撰写此答案时,现在称为“EF Core”的内容被称为“EF 7”,因为它是实体框架当前 .NET Framework 版本 EF 6 的后续版本。当时的命名是切换到 EF Core 1。

现在,许多年过去了,EF Core 已达到版本 7,因此为了避免将来出现混淆,我已将本文中对“EF7”的所有引用替换为 EF Core。其中包括 Microsoft 报价中的引用。

SignalR 和身份

根据Scott Hanselman 的博客文章,ASP.NET 4.X 分支似乎还会持续一段时间,而且事实上,更改命名约定实际上开启了在需要时甚至转向 ASP.NET 5.X 的可能性。

Microsoft 长期以来一直支持 WebForms,因此即使 SignalR 3 和 Identity 3 最终只是 Core 1.0,我仍然希望看到任何新功能也添加到 ASP.NET 4.X 兼容版本中(就像当新功能添加到 ASP.NET MVC 和 WebForms 时的情况)。但这只是我的观点,我实际上找不到 SignalR 3 的设计文档,这让我想知道它是否还没有达到那个阶段。