How do the .NET Framework, CLR and Visual Studio version numbers relate to each other?

With the recent announcement of .NET 4.0 and Visual Studio 2010, it is becoming ever more difficult to keep track of what .NET Framework versions build on what version of the CLR and belong with which version(s) of Visual Studio.

Is there a definitive table that shows these relationships?


Solution 1:

Visual Studio                                 CLR           .NET Framework
----------------------------------------------------------------------------------------
Visual Studio .NET (Ranier)                   1.0.3705      1.0
Visual Studio 2003 (Everett)                  1.1.4322      1.1
Visual Studio 2005 (Whidbey)                  2.0.50727     2.0
Visual Studio 2005 with .NET 3.0 Extensions   2.0.50727     2.0, 3.0
Visual Studio 2008 (Orcas)                    2.0.50727     2.0 SP1, 3.0 SP1, 3.5
Visual Studio 2008 SP1                        2.0.50727     2.0 SP2, 3.0 SP2, 3.5 SP1
Visual Studio 2010 (Hawaii)                   4.0.30319     4.0

Expanding on this a bit, and including some of the information from dok1's answer, the actual version numbers for the different shipped builds of the .NET Framework are available on Aaron Stebner's blog, which covers everything from 1.0 through 3.5 SP1.

The actual Visual Studio version numbers are:

Product Name                                 Version              Ship Date
----------------------------------------------------------------------------------------
Visual Studio .NET                            7.0.??               02/2002
Visual Studio .NET 2002 Service Pack 1        7.0.??
Visual Studio 2003                            7.1.??               04/2003
Visual Studio 2003 Service Pack 1             7.1.6030             09/13/2006
Visual Studio 2005                            8.0.5072.42
Visual Studio 2005 Service Pack 1                                  12/14/2006
Visual Studio 2008                            9.0.21022.8          11/19/2007 
Visual Studio 2008 SP1                        9.0.30729.1
Visual Studio 2010                            10.0.30319.1         04/12/2010
Visual Studio 2010 SP1                        10.0.40219.1         03/03/2011

Please help fill in the missing pieces. This is all I could easily find online.

Thanks to @DannySmurf for the information on the full version numbers for the CLR.

Solution 2:

Note that while 3.0 bascially only added new assemblies (same CLR), 3.5 added new assemblies, new compiler, and updated the CLR to SP1 level.

Framework 4.0 will be a whole new CLR (4.0, no CLR 3.x) which will run side-by-side with CLRs 1.1 and 2.0. It will also have all-new assemblies versioned 4.0 instead of using the 2.0 assemblies.

Framework  CLR and Assemblies            Release
----------------------------------------------------------
1.0 RTM    1.0.3705.0                    Visual Studio .NET (aka VS.NET 2002)
1.0 SP1    1.0.3705.209
1.0 SP2    1.0.3705.288
1.0 SP3    1.0.3705.6018

1.1 RTM    1.1.4322.573                  VS.NET 2003
1.1 SP1    1.1.4322.2032
1.1 SP1    1.1.4322.2300                 Windows Server 2003

2.0 RTM    2.0.50727.42                  Visual Studio 2005 RTM
2.0 RTM    2.0.50727.312                 Windows Vista
2.0 SP1    2.0.50727.1433                Visual Studio 2008 RTM and .NET 3.5 RTM
2.0 SP2    2.0.50727.3053                Visual Studio 2008 SP1 and .NET 3.5 SP1
2.0 SP2    2.0.50727.4016                Windows Vista SP2 and Windows Server 2008 SP2
2.0 SP2    2.0.50727.4927                Windows 7

Framework  CLR           New assemblies
----------------------------------------------------------
3.0 RTM    2.0 RTM       3.0.4506.30     The only "out-of-band" non-SP framework release
3.0 SP1    2.0 SP1       3.0.4506.648    Visual Studio 2008 RTM and .NET 3.5 RTM
3.0 SP2    2.0 SP2       3.0.4506.2123   Visual Studio 2008 SP1 and .NET 3.5 SP1

3.5 RTM    2.0 SP1       3.5.21022.8     Visual Studio 2008 RTM and .NET 3.5 RTM
3.5 SP1    2.0 SP2       3.5.30729.01    Visual Studio 2008 SP1 and .NET 3.5 SP1
3.5 SP1    2.0 SP2       3.5.30729.4926  Windows 7

Framework  CLR and Assemblies            Release
----------------------------------------------------------
4.0 RTM    4.0.30319.1                   Visual Studio 2010

(This was collected from various answers and linked documents, especially the MSDN article How to determine which versions and service pack levels of the Microsoft .NET Framework are installed linked by DOK.) A full list with KB update versions and support retirement dates can be found on Wikipedia, List of .NET Framework versions.

Solution 3:

It's hard to find, isn't it? I believe these are the versions (ignoring service packs)

  • Visual Studio version 6 = last one before .NET, released in 1998
  • Visual Studio 2002 = version 7.1, Rainier, first .NET version retroactively added 2002 to the name, .NET 1.0 -- released Feb 2002
  • Visual Studio 2003 = version 7, Everett, .NET 1.1 -- released early 2003.
  • Visual Studio 2005 = version 8 Whidbey, .NET 2.0 & 3.0 -- launch was Nov 2005. No longer called Visual Studio .NET
  • Visual Studio 2008 = version 9 Orcas, .NET 3.5 -- released 11/19/2007 as 9.0.21022.8
  • Visual Studio 2010 = version 10 Hawaii

The next version of Visual Studio Team System is Rosario.

How to determine which versions and service pack levels of the Microsoft .NET Framework are installed will give you more information about build numbers and service packs, but only through .NET 2.0.