8

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

作为其中的一部分,我下载了 ASP.NET MVC 4 的独立安装程序并在我的 Server 2008 R2 机器上运行它,因为 Web Platform Installer 4.0 有工具更新,它想要安装 Express 和大量其他应用程序。

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

我浏览了 MVC 3 到 MVC 4 的手动升级说明,我刚刚遇到了第 3 项:

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

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

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

还是我错过了什么?即使我拥有自己的服务器,是否有理由安装此软件包,并且可以根据需要安装/更新 .NET Frameworks?

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

4

1 回答 1

10

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

所以现在,即使你引用了这两个程序集,.NET 也应该认识到它们是完全相同的,并且只加载其中一个。随着不基于核心 .NET 4.5 文件的新版本的推出,微软可能正在推动 NuGet 包以使其更容易升级。或者,正如您所猜测的,NuGet 包使您可以在不允许安装 MVC 的系统上运行 MVC 应用程序。

于 2012-11-07T19:25:49.387 回答