一些(官方与否)升级Mvc3到Mvc5指南?

时间:2014-03-25 17:41:24

标签: .net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-5

有一个(非Microsoft)NuGet package允许将Mvc3升级到Mvc4。

有一个(Microsoft)article解释了如何从Mvc3手动迁移到Mvc4。我们可以从那篇文章中读到:ex:

  

找到ProjectTypeGuids元素并替换   {E53F8FEA-EAE0-44A6-8774-FFD645390401}带   {E3E379DF-F4C6-4180-9B81-6769533ABE47}。

现在,有类似的东西允许从MVC3迁移到 MVC5 吗?

是否足够先从3迁移到4,然后重新定位框架版本(到4.5)并安装official MVC nu-get

2 个答案:

答案 0 :(得分:33)

由于安装了VS2015,我不得不在MVC5上从MVC3转换我的应用程序。我成功完成了这个:)。我希望以下描述可以帮助处理类似问题的人:

1)将.Net Framework更改为4.5

Project -> Properties -> Application -> Target Framework -> 4.5

2)从Package Manager控制台安装:

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3

3) web.config中有一行:

<add key="webpages:Version" value="1.0.0.0" />

将其更改为bin文件夹中的system.web.webpages.dll版本:

<add key="webpages:Version" value="3.0.0.0" />

4)如果您的项目使用EntityFramework,则必须将其升级到5.x或更高版本并将dll引用设置为

....\net45\EntityFramework.dll
....\net45\EntityFramework.SqlServer.dll

5)解决以下问题:

Error   CS0104  'Compare' is an ambiguous reference between 'System.ComponentModel.DataAnnotations.CompareAttribute' and 'System.Web.Mvc.CompareAttribute'

你可以添加:

using CompareAttribute = System.Web.Mvc.CompareAttribute;

6)您可能需要更改 web.config Views \ web.config 中的其他定义,然后查找并替换文字如下图所示:

System.Web.MvcSystem.Web.Mvc.*System.Web.RazorSystem.Web.WebPages.Razor3.0.0.0更改为5.0.0.0

System.Web.WebPagesSystem.Web.WebPages.*1.0.0.0更改为3.0.0.0

全部:)

答案 1 :(得分:8)

作为有人建议的答案,删除了未知原因的主题,我将为上述问题添加此文章参考:

How to Upgrade an ASP.NET MVC 4 and Web API Project to ASP.NET MVC 5 and Web API 2