Martin Spedding's Blog

Adventures in a disconnected world

How many versions of Visual Studio do I have to maintain ?

The most expensive part of any project is maintaince. You think everything is working well and suddenly you get a phone call and you need to resolve a bug in the application. The trouble is the application was written with an earlier version of the .net framework, for example v1.0 but you using Visual Studio 2005. This means you can open the project but if you compile it using Visual Studio you can only compile against the latest version of the framework which in this case is version 2.0.  Which means the small change in the code might end up meaning you also have to distribute the v2 framework. The same problem exists with Visual Studio 2003 which can only compile applications to run on top v1.1 of the .Net framework.

However, in a regulated enviroment such as the pharmaceutical industry a change of the underlying platform i.e from the v1 framework to the v2 framework could result in you having to revalidate and retest the complete application. Of course using the SDK you can use the command line switches to compile for the v1 framework but is this really practical ?

It seems to me that we are storing up problems for the future where in order to maintain old applications I will have to keep various different versions of the Visual Studio IDE and know which version of Visual Studio I need for each application.

Mission critical applications need to run for years and will need maintainence and I am worried that there are going to be problems. It seems if I read correctly that the Sharp Developer IDE can compile against different versions of the framework. Why can't Visual Studio do this ?

Maybe Visual Studio should be distributed in the form of Virtual PC images so it is simple to swap between different versions.

 

Comments

Stephane Rodriguez said:


The only way to solve your problems is to :
- never use config files to redirect the default binding
- redistribute in your CD or online package the exact same .NET run-time than the one you are using on your developer machine

This is not proof for success, but almost.
# July 19, 2004 2:48 PM

Martin Spedding said:

Hi, thanks for your comment but that is not really the problem. You see if an application is running OK on .Net framework v1.1 it might not make sense to upgrade the application to v2 of the framework. If you are simply making a simple change to the application you might not want to upgrade from one version of the framework to another and VS 2003 compiles to v1.1 of the framework and VS 2005 to v2 of framework. Which means if I want to maintain a v1.1 application in VS IDE and to not upgrade the app I need to VS 2003 also available. Over time this situation could get worse and worse.
# July 19, 2004 3:09 PM

TrackBack said:

^_^,Pretty Good!
# April 9, 2005 11:32 PM