Question

What steps should I take to safely upgrade an existing ASP.NET MVC 3 project to the latest ASP.NET MVC 4 Developer Preview?

Was it helpful?

Solution

The major change is to upgrade the relevant references to the latest version (4.0 /2.0). You need to update your web config files to upgrade the version of the following namespaces

  • System.Web.Mvc ( Change to 4.0.0.0)
  • System.Web.Webpages (Change to 2.0.0.0)
  • System.Web.Helpers (Change to 2.0.0.0)
  • System.Web.WebPages.Razor (Change to 2.0.0.0)

Also you need to update the root level web config file to have these appsettings entries

<appSettings>
  <add key="webpages:Version" value="2.0.0.0" />
  <add key="PreserveLoginUrl" value="true" />
</appSettings>

Then you need to update the DLLs referenced in the project. Remove the existing MVC3 dll reference and add MVC4 (use nuget package manager to do this)

This link handles all aspects of the conversion. Refer it as needed.

OTHER TIPS

Follow the official steps posted here:

http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806

Note: These steps cover the official release--not the developer preview.

Better yet, use the auto-update tool:

https://www.nuget.org/packages/UpgradeMvc3ToMvc4

Your best bet it's installing the MVC4 from the platform installer. Then follow the steps on the official asp.net/mvc/mvc4 page. If you follow (only) the Shyju instructions It wouldn't work.

When you end with the official instructions, look on your Views directory, and you may find another web.config with another reference to the MVC assembly and several others for razor. You also want to change the versions of this lines. Basically replace every 3.0.0.0 you find for 4.0.0.0 and 1.0.0.0 for 2.0.0.0

IF YOU DON'T MAKE THIS LAST CHANGE, YOU MAY END WITH THE ERROR ON THE FOLLOWING QUESTION

Look for included dll's and make sure they're for the correct versions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top