Side-by-side, tools and frameworks
The side-by-side story in .NET is excellent. I have, however, one situation that I have not found a perfect solution to yet (and the word solution is really relevant here as you’ll see shortly).
Even though as a Regional Director I try to live on the edge, I still have some customers who are a bit behind. With beta versions of v 1.1 having been around for quite some time, one of my customers are still only on version 1.0…
So, I have this project developed in Visual Studio .NET 2003 that I want to use at the customer site. At first I only needed the executables, so I set up Visual Studio .NET 2003 to compile to v1.0.3705 of the framework. This worked just fine. But now I want to use the source code at the customer site. I can’t open the VS.NET 2003 solution with VS.NET 2002. It says that the file is not a valid solution file. And I have found no way in VS.NET 2003 to save the solution in 2002 format.
Is there a way around this? Must be. So I open the solution file in notepad. It is a text file. I am a bit surprised it is not XML based, but it is readable. In the first line, I change the version from 8.0 to 7.0. Now the solution can be opened but it complains that the project file is in a newer version. So I open the project file in notepad. This file *is* XML based. I alter a couple of settings by comparing with a 2002 project file and save. Now I can open the solution in Visual Studio .NET 2002. It recompiles just fine. I look at the project properties. The ‘required runtime’ setting is not available in VS.NET 2002.
When I now open the solution in VS.NET 2003 it asks me ‘Do you want to convert the solution and all of its projects to the new format’. I do. Out of curiosity I take a look at the required runtime settings. The original settings are intact.
So the solution and project files are bound to a particual version of VS.NET. Another takeaway from this is that using XML makes project file extensible. The extensions added by VS.NET 2003 to the XML project file were left untouched by VS.NET 2002.
12:28:30 PM
|