Export (0) Print
Expand All
121 out of 145 rated this helpful - Rate this topic

.NET Framework Versions and Dependencies

Each version of the .NET Framework contains the common language runtime (CLR), the base class libraries, and other managed libraries. This topic describes the key features of the .NET Framework by version, provides information about the underlying CLR versions and associated development environments, and identifies the versions that are installed by the Windows operating system.

Each new version of the .NET Framework retains features from the previous versions and adds new features. The CLR is identified by its own version number. The .NET Framework version number is incremented at each release, although the CLR version is not always incremented. For example, the .NET Framework 4, 4.5, and 4.5.1 include CLR 4, but the .NET Framework 2.0, 3.0, and 3.5 include CLR 2.0. (There was no version 3 of the CLR.)

In general, you should not uninstall any versions of the .NET Framework that are installed on your computer, because an application you use may depend on a specific version and may break if that version is removed. You can load multiple versions of the .NET Framework on a single computer at the same time. This means that you can install the .NET Framework without having uninstall previous versions. For more information, see Getting Started with the .NET Framework.

The .NET Framework 4.5 is an in-place update that replaces the .NET Framework 4 on your computer, and similiarly, the .NET Framework 4.5.1 is an in-place update to the .NET Framework 4.5. After you install one of these updates, your .NET Framework 4 or .NET Framework 4.5 apps should continue to run without requiring recompilation. However, the reverse is not true. We do not recommend running apps that target the .NET Framework 4.5.1 on the .NET Framework 4.5. The following guidelines apply:

  • In Visual Studio 2013, you can choose the .NET Framework 4.5 as the target framework for a project (this sets the GetReferenceAssemblyPaths.TargetFrameworkMoniker property) to compile the project as a .NET Framework 4.5 assembly or executable. This assembly or executable can then be used on any computer that has the .NET Framework 4.5 or .NET Framework 4.5.1 installed.

  • In Visual Studio 2013, you can choose the .NET Framework 4.5.1 as the target framework for a project (this sets the GetReferenceAssemblyPaths.TargetFrameworkMoniker property) to compile the project as a .NET Framework 4.5.1 assembly or executable. This assembly or executable should be run only on computers that have the .NET Framework 4.5.1 installed. An executable that targets the .NET Framework 4.5.1 will be blocked from running on a computer that only has the .NET Framework 4.5 installed, and the user will be prompted to install the .NET Framework 4.5.1. In addition, .NET Framework 4.5.1 assemblies should not be called from a .NET Framework 4.5 app.

Some changes in the .NET Framework may require changes to your app code; see App Compatibility in the .NET Framework 4.5 before you run your existing apps with the .NET Framework 4.5 or the .NET Framework 4.5.1. For more information about installing the current version, see Installing the .NET Framework 4.5, 4.5.1. For information about support for the .NET Framework, see Microsoft .NET Framework Support Lifecycle Policy on the Microsoft Support website.

The .NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR (CLR 2.0). These versions represent successive layers of a single installation. Each version is built incrementally on top of the earlier versions. It is not possible to run versions 2.0, 3.0, and 3.5 side by side on a computer. When you install version 3.5, you get the 2.0 and 3.0 layers automatically, and apps that were built for versions 2.0, 3.0, and 3.5 can all run on version 3.5. However, the .NET Framework 4 ends this layering approach, so apps built for 2.0. 3.0, or 3.5 will not work on version 4 or later. Starting with the .NET Framework 4, you can use in-process side-by-side hosting to run multiple versions of the CLR in a single process. For more information, see Assemblies and Side-by-Side Execution.

In addition, if your app targets version 2.0, 3.0, or 3.5, your users may be required to enable the .NET Framework 3.5 on a Windows 8 or Windows 8.1 computer before they can run your app. For more information, see Installing the .NET Framework 3.5 on Windows 8 or 8.1.

You do not have to install previous versions of the .NET Framework or the CLR before you install the latest version.

The following table correlates .NET Framework, CLR, and Visual Studio versions and provides a brief review of each version. Note that Visual Studio provides multi-targeting, so you are not limited to the version of the .NET Framework that is listed.

.NET Framework version

Introduced with IDE

Description

4.5.1

Visual Studio 2013

Includes performance and debugging improvements, support for automatic binding redirection, and expanded support for Windows Store apps.

4.5

Visual Studio 2012

Included an updated version of CLR 4, support for building Windows Store apps, and updates to WPF, WCF, WF, and ASP.NET.

4

Visual Studio 2010

Introduced a new version of the CLR, expanded base class libraries, and new features such as the Managed Extensibility Framework (MEF), dynamic language runtime (DLR), and code contracts.

3.5

Visual Studio 2008

Added new features such as AJAX-enabled websites and LINQ. The SP1 update added Dynamic Data, and a small set of additional enhancements.

3.0

Visual Studio 2005

This version is essentially .NET Framework 2.0 with the addition of Windows Presentation Foundation (WPF), Windows Communications Foundation (WCF), Windows Workflow Foundation (WF), and CardSpace. It was updated with SP1 and SP2.

2.0

Visual Studio 2005

Introduced a new version of the CLR with additions to the base class libraries, including generics, generic collections, and significant additions to ASP.NET. This version was updated with SP1 and SP2.

1.1

Visual Studio .NET 2003

Included updates to ASP.NET and ADO.NET. This version was subsequently updated twice, with Service Pack 1 (SP1) and SP2. This version also introduced side-by-side execution, which enables apps on a single computer to run against multiple versions of the CLR.

1.0

Visual Studio .NET

Contained the first version of the CLR and the first version of the base class libraries.

Some versions of the .NET Framework are installed automatically with the Windows operating system, but other versions must be installed separately. The following table identifies the installed and supported versions of the .NET Framework for client operating systems.

Client operating system

Includes

You can also install

Windows 8.1

.NET Framework 4.5.1

.NET Framework 3.5 SP1 (see Installing the .NET Framework 3.5 on Windows 8 or 8.1)

Windows 8

.NET Framework 4.5

.NET Framework 4.5.1, .NET Framework 3.5 SP1 (see Installing the .NET Framework 3.5 on Windows 8 or 8.1)

Windows 7 SP1

.NET Framework 3.5 SP1

.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4

Windows Vista SP2

.NET Framework 3.0 SP2

.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4, .NET Framework 3.5 SP1

Windows XP Professional and Windows XP Home Edition

.NET Framework 4, .NET Framework 3.5 SP1, .NET Framework 2.0 SP2

The following table provides similar information for server operating systems.

Server operating system

Includes

You can also install

Windows Server 2012 R2

.NET Framework 4.5.1

.NET Framework 3.5 SP1

Windows Server 2012

.NET Framework 4.5

.NET Framework 4.5.1, .NET Framework 3.5 SP1

Windows Server 2008 R2 SP1

.NET Framework 2.0 SP2 (enabled by default), .NET Framework 3.5 SP1*, .NET Framework 3.0 SP2*

.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4

Windows Server 2008 SP2

.NET Framework 2.0 SP2 (enabled by default), .NET Framework 3.0 SP2*

.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4, .NET Framework 3.5 SP1

Windows Server 2003

.NET Framework 2.0 SP2

.NET Framework 4, .NET Framework 3.5 SP1, .NET Framework 3.0 SP2

See .NET Framework System Requirements for a complete list of supported operating systems. The versions marked with * can be enabled through the Server Manager.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.