Converting your MVC1 project to MVC2 in VS2008

You may confronted with a task to convert a MVC1 project to MVC2. The article from Eilon Lipton’s Blog describes a really nice tool that allows you to do it. You can run this tool and convert most of MVC 1 apps. If the conversion is unsuccessful, the other option is to do it manually. It is very easy. As MVC upgrade notes explains, below are the steps.

Manually Upgrading an ASP.NET MVC 1.0 Project

To manually upgrade an existing ASP.NET MVC 1.0 application to version 2, follow these steps:

  1. Make a backup of the existing project.
  2. In a text editor, open the project file (the file with the .csproj or .vbproj file extension) and find the ProjectTypeGuid element. As the value of that element, replace the GUID {603c0e0b-db56-11dc-be95-000d561079b0} with {F85E285D-A4E0-4152-9332-AB1D724D3325}. When you are done, the value of that element should be as follows:{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
  3. In the Web application root folder, edit the Web.config file. Search for System.Web.Mvc, Version= and replace all instances with System.Web.Mvc, Version=
  4. Repeat the previous step for the Web.config file located in the Views folder.
  5. Open the project using Visual Studio, and in Solution Explorer, expand the References node. Delete the reference to System.Web.Mvc (which points to the version 1.0 assembly). Add a reference to System.Web.Mvc (v2.0.0.0).
  6. Add the following bindingRedirect element to the Web.config file in the application root under the configuration section:
  7. Create a new empty ASP.NET MVC 2 application. Copy the files from the Scripts folder of the new application into the Scripts folder of the existing application.
  8. Update the existing application’s CSS file with the CSS style definitions in the Site.css file.
  9. Compile the application and run it. If any errors occur, refer to the Breaking Changes section of the What’s New in ASP.NET MVC 2 page.

Step 6 explains that if your project has reference MVC 1, you can still run it with MVC2 application. So the old version ( will bind to new version Step 7 and Step 8 may be optional. For example you might not want to update your existing styles in CSS. You may not have script folder instead you may have a CDN setup to deliver your scripts. In those cases simply ignore these steps.