Convert Microsoft Visual Studio applications to version 2012

When Microsoft releases a new version of Visual Studio developers would  like to use the new features of the new IDE. Usually the new version of Visual Studio converts the solution and project files to a new format to be able to save the new settings of that version of the IDE. More seasoned developers already experienced this conversion madness multiple times migrating their applications from VS 2003 to VS 2005 to VS 2008 to VS 2010 and now to VS 2012. Knowing the past we can predict that this trend will continue in the foreseeable future, so it is better to be prepared and set up our applications for easy conversion from the get go.

This post explains how to convert an application from Microsoft Visual Studio 2010 to 2012.

First prepare your application for the conversion. Read the  “How to set up Microsoft Visual Studio solutions for easy conversion…” post to get all the details step-by-step.

 

Copy the project folder

For every Console Application, Windows Service and Class Library project make a copy of the Project_2010 folder as Project_2012

visual studio convert to 2012 project copy project folder

Remove the read only attribute from the folder and all sub folders and files in it:

  • Right click the Project_2012 folder and select “Properties”
  • In the Properties window clear the “Read only…” check box and click “OK”

visual studio convert to 2012 project remove read only

 

Click OK on the next window to remove the read only flag from all files and the sub folders too.

visual studio convert to 2012 project remove read only subfolders

 

Open the “Project_2012” folder and delete the “bin”, “obj”  folders and the “.csproj.vspscc” TFS file.

visual studio convert to 2012 project delete files

 

Copy the web project file

For Web Applications and Web Services make a copy of the …_2010.csproj web project file as …_2012.csproj and remove the read only attribute from the _2012 version:

visual studio convert to 2012 project copy web project file

 

Edit the project file in the Project_2012 folder

In Visual Studio 2012 select “Open”, “File…” from the menu,

visual studio open file

 

  • Click the down arrow on the Open button
  • Select “Open With…”

visual studio open with

 

  • Select “XML (Text) Editor” and click “OK”

visual studio open with XML

 

  • In the project file replace “_2010” with “_2012”. In the replace dialog turn off “Match whole word” to find all occurrences of the _2010 reference.

visual studio replace 2010 with 2012

 

Add the new “Project_2012” folder to source control.

 

Copy the solution folder

Make a copy of the Solution_2010 folder as “Solution_2012”.

visual studio convert to 2012 solution copy solution folder

 

Remove the read only flag from the “Setup_2012” folder and its sub folders as you did it with the Project_2012 folder above.

Delete the “.vssscc” file. Visual Studio 2012 cannot work with setup projects, so also delete the “Setup” folder with the VS 2010 setup project in it.

visual studio convert to 2012 solution delete files

 

Edit the solution file in Visual Studio

Open the solution file as XML in the “Solution_2012” folder and replace “_2010” with “_2012”  as you did it in the Project_2012 file above.

 

Open the 2012 solution in Visual Studio 2012

Open the solution in Visual Studio 2012, and click OK on the warning dialog about the Setup project. Visual Studio 2012 does not support the Setup project any more. If you want to create MSI files use WIX to generate them.

visual studio convert to 2012 setup project not supported

 

To remove the Setup project from the solution right click the setup project and select “Remove”

Make sure all of your projects use the same .NET framework. See the  “Yellow exclamation point next to a project reference…” post for more information.

 

Add the “Solution_2012” folder to source control.

Make a copy of the Config_2010 folder as Config_2012

  • Remove the read only flag from the Config_2012 folder
  • Add the Config_2012 folder to source control

Modify the config files


For command line executives and windows services

Modify the App.config files in the Config_2012 folder


If the solution was created in Visual Studio 2008 or an earlier version

  • Remove encoding=”utf-8″ from the first line
  • Insert

    <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>

    into the <configuration> element


If the solution was created in Visual Studio 2010

  • Change the value of the  sku attribute of the <supportedRuntime> element from “.NETFramework,Version=v4.0” to “.NETFramework,Version=v4.5”


For web applications and web services

Modify the Web.config files in the Config_2012 folder

  • In the <system.web> node
    • in the <compilation> element set the value of the targetFramework to “4.5”
      targetFramework="4.5" )
    • in the <pages> element set the value of the controlRenderingCompatibilityVersion to “4.0”
      ( controlRenderingCompatibilityVersion="4.0" )


    <compilation defaultLanguage="c#" debug="false" targetFramework="4.5" />

    <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>

Leave a Reply