There has been a lot of discussion around the announcement that Vista will only support development using Visual Studio 2005, and even then only with a service pack. I haven’t seen a lot of comments from MS about WHY the older versions (except for VB 6, it’ll work fine under Vista. Go figure!?) won’t work.
Scott Guthrie, one of the best resources at Microsoft in my opinion, left a comment at Paul Wilsons blog. That I’d like to highlight.
The big technical challenge is with enabling scenarios like advanced debugging. Debuggers are incredibly invasive in a process, and so changes in how an OS handles memory layout can have big impacts on it. Vista did a lot of work in this release to tighten security and lock down process/memory usage – which is what is affecting both the VS debugger, as well as every other debugger out there. Since the VS debugger is particularly rich (multi-language, managed/native interop, COM + Jscript integration, etc) – it will need additional work to fully support all scenarios on Vista. That is also the reason we are releasing a special servicing release after VS 2005 SP1 specific to Vista – to make sure everything (and especially debugging and profiling) work in all scenarios. It is actually several man-months of work (we’ve had a team working on this for quite awhile). Note that the .NET 1.1 (and ASP.NET 1.1) is fully supported at runtime on Vista. VS 2003 will mostly work on Vista. What we are saying, though, is that there will be some scenarios where VS 2003 doesn’t work (or work well) on Vista – hence the reason it isn’t a supported scenario. Instead, we recommend using a VPC/VM image for VS 2003 development to ensure 100% compat. Hope this helps – even if the answer isn’t entirely what we’d all like it to be, Scott
There are a couple of things about this statement that bring up questions I’ve had for a while. How closely does the Windows team work with the IDE team? It seems odd to me that this issue wasn’t one of the first issues to be addressed. How much has the debugger changed in between versions? If the memory management has changed that drastically between versions, and it appears that is has, was that really a good idea?
What I think this really points to is a lack of dogfooding by the Development team. I also wonder about the effectiveness of all of the Vista beta and alpha testers. I see lots of developers posting about Vista in their blogs, but what are they really doing? Are they just booting it up, opening up iCal, browsing with IE7, and calling it good? Are there any developers who are using Vista for their every day work? I see Sam Gentile has said he is using for “hard core development”. But he is also not using any old technology, just “everything bleeding that pushes the edge.” So he is Microsofts poster child for how you should use Vista if you are a developer. Where does that leave the rest of us? I still have to support a .Net 1.1 web site which is architected in such a way that migrating it requires a complete re-write.
I’m not even going comment on the idea that we should install a separate OS in a VM to continue to support my older apps. If I’m going to do that, I’m not going to use Windows as my host OS. I’ll use something more stable and better supported by it’s company than Windows.