There is a (non-Microsoft) NuGet package that allows upgrading the Mvc3 to Mvc4.
There is a (Microsoft) article that explains how to manually migrate from Mvc3 to Mvc4. We can read from that article, by ex:
Locate the ProjectTypeGuids element and replace
{E53F8FEA-EAE0-44A6-8774-FFD645390401} with
{E3E379DF-F4C6-4180-9B81-6769533ABE47}.
Now, is there something similar that allows migrating from MVC3 to MVC5?
Is there sufficient to migrate first from 3 to 4, and then re-target the framework version (to 4.5) and install the official MVC nu-get?
Due to the installation of VS2015 I had to convert my applications from MVC3 on MVC5. I've done this with success :). I hope that the following description will help someone in a similar issue:
1) Change .Net Framework to 4.5
Project -> Properties -> Application -> Target Framework -> 4.5
2) Install from Package Manager Console:
Install-Package Microsoft.AspNet.Mvc -Version 5.2.3
3) There is a line in web.config that is:
<add key="webpages:Version" value="1.0.0.0" />
Changed it to the version of system.web.webpages.dll in your bin folder:
<add key="webpages:Version" value="3.0.0.0" />
4) If your project uses the EntityFramework you have to upgrade it to version 5.x or higher and set dll references to
....\net45\EntityFramework.dll
....\net45\EntityFramework.SqlServer.dll
5) To solve problems like:
Error CS0104 'Compare' is an ambiguous reference between 'System.ComponentModel.DataAnnotations.CompareAttribute' and 'System.Web.Mvc.CompareAttribute'
you can add:
using CompareAttribute = System.Web.Mvc.CompareAttribute;
6) You will probably have to change additional definitions in the web.config and the Views\web.config and find and replace text as shown below:
System.Web.Mvc
, System.Web.Mvc.*
, System.Web.Razor
, System.Web.WebPages.Razor
change from 3.0.0.0
to 5.0.0.0
System.Web.WebPages
, System.Web.WebPages.*
change from 1.0.0.0
to 3.0.0.0
That's all :)
As an answer that someone suggested, then for a unknow cause removed, I will add this article reference for the question above:
How to Upgrade an ASP.NET MVC 4 and Web API Project to ASP.NET MVC 5 and Web API 2