If you recall previous releases of .NET Framework which had a dedicated Visual Studio.NET linked to that particular .NET Framework version.

Lets see, all of them again:-

Microsoft .NET Framework | Visual Studio .NET
————————————————————–
1- .NET 1.0 ———————- Visual Studio 2002
2- .NET 1.1 ———————- Visual Studio 2003
3- .NET 2.0 ———————- Visual Studio 2005
4. .NET 3.0 ———————- VS 2005 + VS 2005 extensions for .NET 3.0
5. .NET 3.5 ———————- Visual Studio 2008

This coupling in between has just put the entire Microsoft .NET aspirants to shift their focus to different IDEs and interfaces time to time for almost six years by now.

Visual Studio 2008(code named Orcas) is designed with a vision to support any .NET Framework version application in its single IDE, I.e, you don’t need multiple copies of VS .NET to support different versions of .NET Framework (as shown above). Hence the Visual Studio 2008 reduces or removes the coupling between .NET Framework and Visual Studio .NET, and having just one copy of Visual Studio 2008 will cater the various .NET Framework versions.

The Visual Studio 2008 Projects Templates and how they support to .NET Framework versions is shown in the figure here:

 

You can see the vast range of Project Templates VS 2008 supports. Beisides on the top right corner of the figure shown just above, you can see while choosing a project template, it also allows you to choose your desired .NET Framework version from the dropdown list.

Hence, Visual Studio 2008 and its support for multiple .NET version support minimizes the maintenance and side-by-side issues which we all were facing due to the coupling betwenn VS.NET and their respective .NET Framework versions.

As Orcas targets/supports various .NET Framework versions installed and that could have been achieved by installing one .NET Framework version on the top of another version. For example, .NET 3.0 installed on .NET 2.0, and then .NET 3.5 on .NET 3.0.

The .NET 3.5 Framework version holds green bit assemblies which are additional assemblies and can be installed at the top of other existing .NET Framework assemblies.

Green bit assemblies when installed, they don’t affect existing assemblies. For example, .NET 3.0 when installed on .NET 2.0, it does not affect .NET 2.0 assemblies.

In the similar manner, .NET 3.5 assemblies does not affect the framework version either 2.0 or 3.0 on the top of which you will be installing it. You can see in Figure 2-2 that .NET 3.5 implements Green bit assemblies in the Microsoft .NET Framework 3.5 (Pre-Release Version) folder.

Whereas Red bit assemblies are the assemblies which ship either as part of the platform or part of a development tool. For example, Windows Vista ships WPF, WCF etc, and Visual Studio 2005 ships .NET 2.0. Besides assemblies delivered as service packs, hot fixes or updates are also considered as Red bit assemblies.