When people talk about new features in Visual Studio 2008 and .NET 3.5, you'll usually
advances in CSS support, huge gains in the IDE's responsiveness, and the fact that Microsoft
has given us mere mortals access to the actual source code of the .NET Framework libraries.
But for the working developer, all those pale in comparison to a simple little
feature called multi-targeting.
For years, my primary development machine had
Visual Studio 2005 (for .NET 2.0), Visual Studio 2003 (for .NET 1.1),
and Visual Interdev 6.0 (for classic ASP) all running simultaneously.
Starting with Visual Studio 2008, that type of insanity is starting to come
to an end. For the first time, you're able to use the same version of Visual
Studio to build applications that target different versions of the
.NET runtime. Simply tell Visual Studio if the project you're working on
should target version 2.0, 3.0, or 3.5 and start coding. The compilation
settings, project references, and web.config settings are all automatically configured
The only real downside is that this support doesn't go back one step further to support
.NET 1.1. But, to be honest, I don't hear from too many people still targeting .NET 1.x
these days. The shiny new features in .NET 2.0+ have caused most developers to push
to get older apps converted. So, even if we don't have .NET 1.1 support to manage those
older apps today, at least we're on the path towards a single IDE tomorrow.
For more information on Visual Studio 2008's multi-targeting support, you'll want to
check out Scott Guthrie's blog post on the topic:
VS 2008 Multi-Targeting Support.
It's a little old and the screen caps are from the betas, but it covers the topic well.