October 14, 2003
@ 04:04 PM

In the transition from Visual Studio 2002 (which uses v1.0 of the .NET Framework) and Visual Studio 2003 (which uses v1.1. of the .NET Framework) the Microsoft Visual Studio team decided to change the project file formats so that they'd be incompatible. This means that development teams can't build .NET Framework if developers use different versions of Visual Studio that were released merely one year from each other.  

Since I use Visual Studio 2002 at home this has led to some complaints from various members of the RSS Bandit workspace who like most developers are using the latest and greatest (Visual Studio 2003) because it means the project files under source control are not compatible with their version of Visual Studio. I have been hesitant to move to Visual Studio 2003 and v1.1 of the .NET Framework because I don't want RSS Bandit to become targetted at v1.1 of the .NET Framework instead of being able to run on both v1.0 and v1.1 of the .NET Framework. Based on my web server logs, users with v1.0 of the .NET Framework installed still outnumber those with v1.1.

However it seems this is out of my hands. Last night Torsten initiated a vote in the RSS Bandit workspace and the numbers overwhelmingly indicate that the members of the workspace want to move to v1.1 of the .NET Framework. So it looks like I need to go buy a copy of Visual Studio 2003.

I now have to figure the best process to put in place to ensure that RSS Bandit always runs on both v1.0 and v1.1 of the .NET Framework. Already there is one issue I'm sure will cause breakages if I don't keep an eye on it, when people the project moves, the System.Xml.Xsl.XslTransform class had a number of overloads of its Transform() method obsoleted and replaced by new methods. When compiled against v1.1 of the .NET Framework the compiler complains that RSS Bandit uses obsoleted methods which is fine in our case since the obsoletions were a result of some overreactions during our month-long security push from last year.  However many people keep thinking that they should change the method calls to the new ones which will break RSS Bandit when it runs on v1.1 of the .NET Framework since those methods don't exist there.

Last week Torsten asked when I think we'll start to make the transition to v2.0 of the .NET Framework (no doubt inspired by all the PDC hype. From what I've seen that's going to be a bitch of a move. I suspect we won't do that till a few months after Whidbey (the next version of the .NET framework) goes gold which gives us about a year and a half.


Tuesday, October 14, 2003 4:33:52 PM (GMT Daylight Time, UTC+01:00)
Oh, man, I don't even know where to start with that. I'm not going to say anything about Microsoft, file format backwards compatability, and forced upgrades. I've been bitten on the ass by the project files compatability shitfuck already.

Not to mention that you seem to think that taking a pretty trivial v1 .NET application over to v2 is going to be "a bitch of a move" - makes me feel sorry for people doing enterprise level stuff in .NET now.
Tuesday, October 14, 2003 6:29:18 PM (GMT Daylight Time, UTC+01:00)
Here is a link to a utility on CodeProject that will allow you to convert VS.NET 2003 projects to VS.NET 2002 format (http://www.codeproject.com/macro/vsconvert.asp). I have not tried this, nor do I have anything to do with it, I just saw a reference to it, and thought of it when reading your post.

Tuesday, October 14, 2003 6:35:56 PM (GMT Daylight Time, UTC+01:00)
I don't know what your build process is like, but if you were to use NAnt, you can very likely target both frameworks with the same build file. It's not too hard to keep a NAnt build in sync with a csproj file either.
Tuesday, October 14, 2003 6:39:04 PM (GMT Daylight Time, UTC+01:00)
Dang, RssBandit has 259 members? Are these all voting, active developers?
Tuesday, October 14, 2003 7:19:09 PM (GMT Daylight Time, UTC+01:00)
On average there are about 3 developers active at any time (Torsten, myself and someone who has a particular itch to scratch at that time). In the life of the project, perhaps a dozen or so have been truly active in the sense of contributing significant code.
Tuesday, October 14, 2003 9:00:06 PM (GMT Daylight Time, UTC+01:00)
The number of times Microsoft has done this to me in my career in one way or another is astounding. What really irritates me about this kind of crap is that Visual Studio project files still can't do everything you could do with make files a decade ago.
Wednesday, October 15, 2003 12:27:07 AM (GMT Daylight Time, UTC+01:00)
Maybe I am missing something, but I wrote my Tablet PC Powertoy to target both 1.0 and 1.1. The app runs on both, and was built using VS 2003. It runs fine on both.

Also, you can get VS 2003 in the company store for pretty cheap ;-).
Thursday, October 16, 2003 7:21:21 PM (GMT Daylight Time, UTC+01:00)
If the conversion tool is written correctly it should work just fine. There is only one charactor that needs to be changed in the project files to make the switch between the two versions. I can say that part of the descision for dissallowing the round trip was made from a QA perspective. Allowing a round trip signs us up for a whole lot more round trip testing. Yes, it SHOULD work just fine, but if we say it works, then we would have had a LOT of testing to make it possible. A cost we weren't willing to sign up for since the upgrade cost was so insignifigant. Most customers can find a way to upgrade for esentially the cost of shipping.
Comments are closed.