对于MVC 4,Microsoft.AspNet.Mvc和System.Web.Mvc有什么不同? [英] For MVC 4, what's the difference between Microsoft.AspNet.Mvc and System.Web.Mvc?

查看:19
本文介绍了对于MVC 4,Microsoft.AspNet.Mvc和System.Web.Mvc有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有自己的服务器,正在考虑将我的一个解决方案升级到ASP.NET MVC 4,然后再升级其余的(3+)。

作为其中的一部分,我下载了the standalone installerfor ASP.NET MVC 4,并在我的Server 2008 R2机器上运行了它,因为Web平台安装程序4.0有工具更新,它想要安装Express和许多其他应用程序。

该安装程序使用System.Web.Mvc.dll创建了C:Program Files (x86)Microsoft ASP.NETASP.NET MVC 4Assemblies目录。

我浏览了the manual upgrade notes for MVC 3 to MVC 4,我刚刚看到第3项:

在解决方案资源管理器中,右键单击引用,然后选择管理 纽吉特套餐。在左窗格中,选择UpdatesAll,然后更新 如下:

  • ASP.NET MVC 4
  • (可选)jQuery、jQuery验证和jQuery UI
  • (可选)实体框架
  • (可选)现代化

据我所知,ASP.NET MVC 4指的是this NuGet package,它现在包含在Microsoft ASP.NET MVC 4(Microsoft.AspNet.Mvc)中,似乎是为了安装在共享主机和云平台上。

还是我错过了什么?即使我有自己的服务器,并且可以随心所欲地安装/更新.NET框架,有理由安装此程序包吗?

编辑:请注意,检查标头(我还没有关闭它)确实显示站点的MVC版本是4.0,并且没有NuGet包。它是不是刚刚被推到核心包中的修复/功能?它主要用于共享主机环境吗?如果我保留它,如果已经安装了MVC 4,它是否会导致一些性能损失(我会考虑不必要地增加内存使用量)?

推荐答案

据我所知,它们完全相同。即使NuGet包被称为Microsoft.AspNet.Mvc,它创建的DLL文件也被命名为System.Web.Mvc.dll。与GAC中的System.Web.MVC文件具有相同的大小、程序集签名等。

因此,就目前而言,即使引用两个程序集,.NET也应该认识到它们是完全相同的,并且只加载其中一个。微软可能正在推动NuGet包,以使升级变得更容易,因为新版本不是基于核心的.NET4.5文件。或者,正如您所猜测的那样,NuGet包使您可以在不允许安装MVC的系统上运行MVC应用程序。

这篇关于对于MVC 4,Microsoft.AspNet.Mvc和System.Web.Mvc有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆