xr2*_*0xr 41 .net asp.net asp.net-mvc asp.net-core-mvc .net-core
我一直在努力开展各种项目,显然微软一直在忙着做出一些重大改变,这让我感到很困惑.去年我安装Visual Studio 2017时,ASP.NET Core首次出现在我的雷达上,然后创建了一个新项目,突然选择了.NET Framework,.NET Standard和.NET Core.所以我稍微调查了一下,发现后两者在某种程度上是完整框架的缩写版本.我读过Scott Hanselman的这篇文章ASP.NET 5已经死了 - 介绍ASP.NET Core 1.0和.NET Core 1.0我也找到了这个,它让我远离ASP.NET Core:在ASP.NET和ASP.NET Core之间选择.我的内容是"核心是新的,你可以继续使用完整的框架." 所以我使用.NET Framework 4.6.2和Microsoft.AspNet.Mvc 5.2.3创建了一个新的ASP.NET MVC站点.
自从创建该项目以来,我发现MVC和实体框架中的一些错误似乎只是发现在网络上唯一提到它们似乎是在Core中,而这是他们被认为被修复的唯一地方.
现在,今天,我正在尝试查看System.Web.Mvc.Controller和System.Web.Mvc.JsonResult上的文档,除了Core文档之外它已经消失了.我终于把它挖到了这里,它说它不再被维护了?
我对Core 很了解,并说,"好吧,我为什么要关心?我会继续做我正在做的事情,并在完成后再检查一下." 但现在似乎不再支持4.6.2了.有人可以解释发生了什么吗?我的.NET 4.6.2/MVC 5.2.3项目现在已经过时了吗?如果没有,为什么文件已经退役并被隐藏起来?我担心我的某些依赖项甚至可能不适用于Core或与Core兼容.
Dai*_*Dai 124
在过去的两年中,微软需要对.NET Core/DNX,ASP.NET Core,.NET Standard和其他方面的混淆程度进行良好的调整.
(我说这是DevDiv的前FTE SE ......)
System.Web.Http)与ASP.NET MVC没有太多共享(System.Web.Mvc).尝试在同一个项目中将ASP.NET Web API服务与ASP.NET MVC Web应用程序相结合是一项艰苦的工作.System.Web.dll或任何(现在遗留的)IIS依赖项(例如旧的请求管道,IHttpHandler并且IHttpModule不再存在).
Microsoft.AspNet和不是System.Web.这对我来说是一个混乱的根源.这意味着将ASP.NET MVC和ASP.NET WebAPI中的项目升级到ASP.NET Core是不平凡的,尽管它们的控制器和中间件的基本架构是相同的.除此之外,我们还有.NET Core(又名1.0): - .NET Core是CLR和BCL的新版本,它是可显式移植的,可在Linux和macOS上运行.与完全 独特的Windows .NET相比,它的类库有点贫血.
因此,为了使一切变得更好,Microsoft引入了.NET Standard,它基本上是可移植类库概念的重新启动:其中Visual Studio项目针对的是已知的常用功能子集,而不是特定的实现.(我只是希望他们从4开始编译版本以匹配.NET Framework而不是开始,System.Web.dll因为这让我重新考虑了2001.) - 但重要的是ASP.NET Core的目标是.NET Standard .NET Core - 这意味着除了在.NET Core上运行之外,ASP.NET Core还可以在Windows上的.NET Framework上运行.
System.Web.dll.ASP.NET MVC平台现已过时.System.Web.dll.System.Web.Mvc.dll.System.Web.dll.System.Web.Mvc.dll.System.Web.Http.dll.System.Web.dll.System.Web.HttpOWIN的情况下独立运行.(我被带走了......)
这个答案将尝试仅关注ASP.NET MVC 5,并尽可能少关注ASP.NET Core.
产品生命周期
微软仍然支持这一点,并且尚未宣布终止,
框架/产品退休
ASP.NET MVC 4 2019年7月1日
ASP.NET MVC 5
所以,如果你愿意,继续使用它.请记住,微软仍然支持VB6和经典ASP用户.
如果确实检查了有关产品生命周期的Microsoft文档,则仍支持.NET Framework 4.5.2及更高版本.
保养
但是,您需要注意ASP.NET MVC 5处于维护模式,因为开发资源几乎全部都在ASP.NET Core上.
你知道了,
如果您监视相关的NuGet包,您应该注意到即使是最近Microsoft也会更新它们以修复安全漏洞等等.
您从Microsoft Docs看到的通知实际上强调了第一句"我们不再定期更新此内容".这非常有意义,因为ASP.NET MVC 5非常坚固,因此您不应期望再添加新材料.
您说"自从创建该项目以来,我发现MVC和实体框架中的一些错误只是发现在网络上唯一提到它们似乎是在Core中,这是他们被认为是被修复的唯一地方".
嗯,这真的取决于你所谈论的"错误".就像我之前所说的那样,安全相关的问题仍在修补,但是有解决方法或功能限制的错误最不容易修复.这是一个开源项目,所以如果你真的想要,你可以自己解决问题,作为最后的手段.
在新功能方面,Microsoft确实从ASP.NET Core向后移植了一些功能,例如依赖注入,新配置系统,以在一定程度上简化迁移.但是不要期待太多.
移民
如果可以,请考虑迁移到ASP.NET Core.
| 归档时间: |
|
| 查看次数: |
12699 次 |
| 最近记录: |