Having problems with it?
If you load it up in VS2005 it brakes that it can’t find the target, if you open it in VS2008 and it was previously working in VS2005 it upgrades it so it doesn’t work there any more.
Frankly I am surprised that the guys at MS did such a bad job of Multitargetting. My biggest pain points so far include:
- .NET 2.0 SP1 - This one really sucks - if you said that it supports .NET 2.0 - it should support just that, not .NET 2.0 SP1 - to my situation it’s just a crippled version of 3.5 framework, and as we need to take down the whole server collocation to install the new framework, test it and everything… it’s the complete same thing when we are installing SP1 to install 3.5 as well… then we come to the conclusion… who the hell needs that SP1, or at least without any other choice (I wouldn’t made if they said… you have 2.0, 2.0 SP1, 3.0, 3.0 SP1 and 3.5) - or at least made the framework files aware of it (now the new files override the old ones and your developer workstation is never the same) - PITA
- Code Analysis rules - While trying to solve the problem of having a solution and projects which REALLY work on .NET 2.0 and in both VS2005 and VS2008 (you didn’t think that now that we have this PITA approach to multitargetting ALL developers on ALL projects will automatically switch to VS2008? Especially when now need to be able to build the project on a SEPERATE .NET 2.0 Vanilla machine… just so that we know in production it will work… and only work because there is no means of being 100% sure) I’ve tried the great solution of Krzysztof Cwalina via FxCop rule which validates that you haven’t used any of the features of .NET 2.0 SP1.
Now - if you imagined that you could just switch on the rule, switch off other rules and have it work both in VS2005 and VS2008… you were wrong… it’s not the problem with the rule… it works perfectly… but VS2005 has some rules which VS2008 doesn’t and vice-versa. So if you switch everything off in VS2005 except Multitargeting rules and go to VS2008… VS2008 has some of them (probably the ones VS2005 doesn’t have) and if you go to VS2008 and turn the all the rules there and come back to VS2005 then there some rules are turned on (again… probably the ones VS2008 doesn’t have)… aaargh… soon after that you give up
Again… PITA!
- Web Application Projects - Ok, this one is actually solvable… When you upgrade your WAP project to VS2008 you get near the end of the file this:
(click to view big picture)
Notice the 9.0 version… That’s the new version of WAP and naturally it doesn’t work with VS2005… VS2005 it has it’s own version - 8.0:
And… you’ve guess it… when you open WAP project converted in VS2008 in VS2005 it doesn’t work because of that line.
Solution is actually quite simple… Add both lines in your project file only apply them conditionally based on the VS version:
By doing this your project can now be opened and built in both VS2005 and VS2008.
Although again… one question again begs to be asked… Why didn’t the MS guys do the same thing from the start? again… PITA
Hope this actually helps someone
Cheers!
Filed under:
VS2005,
VS2008
Written on: 12 Dec 2007 ·
No Comments »