是否可以使用NuGet包升级到MVC4?

时间:2012-08-31 17:13:47

标签: asp.net-mvc-4 nuget

我已经阅读了将网站升级到MVC4的列表http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806,然后开始寻找可以做到这一点的软件包(你知道,我很懒)

我发现里面有一些带有DLL的MS包,但没有一个只改变了web.config,引用等。

这让我想知道NuGet是否能够进行所有转换。

您知道是否可以使用NuGet包升级到MVC4?

2 个答案:

答案 0 :(得分:3)

不幸的是,不,涉及一些手动步骤:

Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4

要将现有的ASP.NET MVC 3项目升级到ASP.NET MVC 4,需要注意以下几点:

  1. 在所有web.config中,包括根文件夹和Views文件夹中的一个,将3.0.0.04.0.0.0的程序集版本System.Web.Mvc更改为1.0.0.02.0.0.0适用于System.Web.WebPagesSystem.Web.HelpersSystem.Web.WebPages.Razor
  2. 将密钥appSettings的{​​{1}}值更改为"webPages:Version"。除此之外,还添加名为“PreserveLoginUrl”的新"2.0.0.0"密钥,并将“true”作为值。
  3. 现在删除对MVC 3.0程序集和Webpages 1.0程序集的所有引用。并添加对MVC 4.0程序集和Webpages 2.0程序集的引用。
  4. 如果您使用的是使用以前版本的MVC构建的任何第三方程序集,请不要忘记在root web.config中配置bindingredirect,如此处所述。
  5. 最后还有一步是将项目类型从MVC 3更改为MVC 4.对于该卸载项目,右键单击解决方案资源管理器并选择编辑ProjectName.csproj文件。现在找到ProjectTypeGuids元素,并将appSettings替换为{E53F8FEA-EAE0-44A6-8774-FFD645390401}。现在保存更改并重新加载项目。

答案 1 :(得分:2)

我自己试图制作包,问题是你不能删除/替换web.config或项目文件中的条目,你只能添加。

关闭制作一个exe ...

编辑制作此命令行exe,执行web.configproject.csprojviews\web.config {{3}中的转换替换} 享受!