对于 MVC 4,Microsoft.AspNet.Mvc 和 System.Web.Mvc 之间有什么区别?

2024-03-06

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

作为其中的一部分我下载了独立安装程序 http://www.microsoft.com/en-us/download/details.aspx?id=30683ASP.NET MVC 4 并在我的 Server 2008 R2 机器上运行它,因为 Web Platform Installer 4.0 具有工具更新,它需要安装 Express 和大量其他应用程序。

该安装程序创建了一个C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\AssembliesSystem.Web.Mvc.dll 的目录。

我经历了MVC 3 到 MVC 4 的手动升级说明 http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806我刚刚遇到了第 3 项:

在“解决方案资源管理器”中,右键单击“引用”并选择“管理” NuGet 包。在左侧窗格中,选择“Updates\All”,然后更新 下列的:

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

据我所知 ASP.NET MVC 4 指的是这个 NuGet 包 https://nuget.org/packages/AspNetMvc,现在包含在 Microsoft ASP.NET MVC 4 中(微软.AspNet.Mvc https://nuget.org/packages/Microsoft.AspNet.Mvc),似乎用于安装在共享托管和云平台上。

或者我错过了什么?即使我有自己的服务器,并且可以按照我的意愿安装/更新 .NET Framework,是否有理由安装此软件包?

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


据我所知,它们是完全相同的。即使 NuGet 包被称为Microsoft.AspNet.Mvc,它创建的dll文件名为System.Web.Mvc.dll。它具有与System.Web.MVCGAC 中的文件。

因此,目前,即使您引用这两个程序集,.NET 也应该识别出它们完全相同,并且只加载其中之一。 Microsoft 可能正在推动 NuGet 包,以便在不基于核心 .NET 4.5 文件的新版本出现时更容易升级。或者,正如您猜测的那样,NuGet 包使得您可以在不允许安装 MVC 的系统上运行 MVC 应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于 MVC 4,Microsoft.AspNet.Mvc 和 System.Web.Mvc 之间有什么区别? 的相关文章

随机推荐