The .NET Framework 3.5, the .NET Framework 3.0, and the .NET Framework 2.0 were historically released as individual products on platforms in versions of Windows earlier than Windows 7 and Windows Server 2008 R2.
Each of these product versions are really layers of a feature stack. Internally, each layer contains mutually-exclusive components. So components in the .NET Framework 3.0 build on top of the .NET Framework 2.0, and components in the .NET Framework 3.5 build on top of both the .NET Framework 2.0 and the .NET Framework 3.0. This is shown in the following image:

One by-product of this architecture is that the .NET Framework 3.5 cannot function without the .NET Framework 2.0 and the .NET Framework 3.0 because there is no common language runtime (CLR) in the .NET Framework 3.5 layer. Therefore, when the .NET Framework 3.5 product is installed, this also installs the .NET Framework 2.0 Service Pack 1 (SP1) and the .NET Framework 3.0 SP1 products. Similarly, when the .NET Framework 3.5 SP1 product is installed, this also installs the .NET Framework 2.0 SP2 and .NET Framework 3.0 SP2 products. Customers who are running Windows XP or Windows Server 2003 can view these individual versions together with the corresponding updates under the
Add or Remove Programs item in Control Panel:

On Windows Vista SP2 and Windows Server 2008 SP2, the .NET Framework 2.0 SP2 and the .NET Framework 3.0 SP2 are built into the operating system. Similarly, on Windows Vista SP1 and Windows Server 2008, the .NET Framework 2.0 SP1 and the .NET Framework 3.0 SP1 are built into the operating system. Therefore, customers only see the .NET Framework 3.5 under the
Programs and Features item, as shown in the following image:
