With the release of Visual Studio 2008 Orcas, one of the most important issues is compatibility. What new challenges will a developer face when working with these new tools in comparison to its predecessors Visual Studio 2005 and below?
Upgrading to the new Visual Studio means installing on a few developer machines - upgrading to target a new framework (3.5) means ensuring that every client of the application has the new framework installed. With Visual Studio 2008, it's possible to target the older frameworks (2.0 and 3.0).
For a great introduction on how to make new projects or modify existing projects to target either .NET Framework 2.0, 3.0, or 3.5, please visit Luke's webpage on ".NET Framework Multi-targeting in Visual Studio 2008".
This article will take a developer through the problem I faced in converting a VS 2005 project into the VS 2008 format, yet successfully targeting the .NET Framework 2.0.
It also lists all the settings necessary to configure a VS 2008 project to target .NET 2.0 or .NET 3.0, if the developer does not want to target the latest .NET 3.5.
A few days ago, I downloaded a Beta version of VS 2008 onto my Vista PC, and upgraded my Visual Studio 2005 application into the new VS 2008 format.
I then built the solution, creating a Setup file.
I followed the steps outlined in Luke's article, but when I used my client's Windows XP computer to install the program using the final Setup file…
… it forced the client to install the .NET 3.5 framework, or else would not install.
As you can see, in the Project setting of my Windows Application project, I have chosen .NET 2.0:
Then, in the Properties of the Setup project:
Then, in the Prerequisites window, .NET 2.0 has been chosen as a prerequisite:
But my final Setup file still forced me to install NET framework 3.5 on the client's PC. So what is preventing it from using 2.0?
The solution to my problem
There is another setting which you will need to configure in order for your setup program to work with NET 2.0.
Open up the Dependencies folder in your Setup project, and double-click the ".NET Framework" dependency.
A window will open up. Inside it, click the ".NET Framework" launch condition, and open the Properties window. There you will find a "Version" setting. Select whichever one you are depending on, also remember to choose the same in the dialog windows shown earlier.
When I built the setup again, it installed perfectly on the client's Windows XP computer, which only had the .NET Framework 2.0 installed!
So that's all you need in order to target the .NET Framework 2.0 from Visual Studio 2008!
Hope this helps you! And please forgive me if you think this article does not meet up the quality standards of The Code Project, as this is my first!
So wish me luck and good bye for now!