.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.

Note

For information on downloading and installing the .NET Framework, see Install the .NET Framework for developers.

The following table summarizes .NET Framework version history and correlates each version with Visual Studio, Windows, and Windows Server. Visual Studio provides multi-targeting, so you are not limited to the version of the .NET Framework that's listed.

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 later releases 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.)

See System Requirements for a complete list of supported operating systems. For downloads, see Install the .NET Framework for developers. For determining which versions of the .NET Framework are installed on a computer, see How to: Determine Which .NET Framework Versions Are Installed.

In the table, versions of the .NET Framework that are installed on operating system versions marked with ✓ in the Included in/Can be installed on Windows and the Included in/Can be installed on Windows Server columns must be enabled in Control Panel (for Windows) or enabled through the Server Manager (for Windows Server).

Important

The following table lists the keys of released versions of the .NET Framework only. It doesn't list the keys of preview or pre-release versions.

.NET Framework version CLR version Included in
Visual Studio
version
✓ Included in
+ Can be installed on
Windows
✓ Included in
+ Can be installed on
Windows Server
To determine installed .NET version
4.8

New features

New in accessibility

Release notes
4 ✓ 10 May 2019 Update

+ 10 October 2018 Update (Version 1809)
+ 10 April 2018 Update (Version 1803)
+ 10 Fall Creators Update (Version 1709)
+ 10 Creators Update (Version 1703)
+ 10 Anniversary Update (Version 1607)
+ 8.1
+7
+ Windows Server 2019
+ Windows Server, version 1809
+ Windows Server, version 1803
+ 2016
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use Release DWORD:

- 528040 (Windows 10 May 2019 Update)
- 528049 (all other OS versions)

(see instructions)
4.7.2

New features

New in accessibility

Release notes
4 ✓ 10 October 2018 Update (Version 1809)
✓ 10 April 2018 Update (Version 1803)

+ 10 Fall Creators Update (Version 1709)
+ 10 Creators Update (Version 1703)
+ 10 Anniversary Update (Version 1607)
+ 8.1
+7
✓ Windows Server 2019
✓ Windows Server, version 1809
✓ Windows Server, version 1803

+ Windows Server, version 1709
+ 2016
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use Release DWORD:

- 461814 (Windows 10 October 2018 Update)
- 461808 (Windows 10 April 2018 Update and Windows Server, version 1803)
- 461814 (all other OS versions)

(see instructions)
4.7.1

New features

New in accessibility

Release notes
4 ✓ 10 Fall Creators Update (Version 1709)

+ 10 Creators Update (Version 1703)
+ 10 Anniversary Update (Version 1607)
+ 8.1
+7
+ Windows Server, version 1803

✓ Windows Server, version 1709

+ 2016
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use Release DWORD:

- 461308 (Windows 10 Creators Update and Windows Server, version 1709)
- 461310 (all other OS versions)

(see instructions)
4.7

New features

Release notes
4 ✓ 10 Creators Update (Version 1703)

+ 10 Anniversary Update (Version 1607)
+ 8.1
+7
+ 2016
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use Release DWORD:

- 460798 (Windows 10 Creators Update)
- 460805 (all other OS versions)

(see instructions)
4.6.2

New features

Release notes
4 ✓ 10 Anniversary Update (Version 1607)

+ 10 November Update (Version 1511)
+ 10
+ 8.1
+ 7
✓ 2016

+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use Release DWORD:

- 394802 (Windows 10 Anniversary Update and Windows Server 2016)
- 394806 (all other OS versions)

(see instructions)
4.6.1

New features

Release notes
4 ✓ 10 November Update (Version 1511)

+ 10
+ 8.1
+ 8
+ 7
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use Release DWORD:

- 394254 (Windows 10 November Update)
- 394271 (all other OS versions)

(see instructions)
4.6

New features

Release notes
4 2015 ✓ 10

+ 8.1
+ 8
+ 7
+ Vista
+ 2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use Release DWORD:

- 393295 (Windows 10)
- 393297 (all other OS versions)

(see instructions)
4.5.2

New features

Release notes
4 - + 8.1
+ 8
+ 7
+ Vista
+ 2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use Release DWORD:

379893

(see instructions)
4.5.1

New features

Release notes
4 2013 ✓ 8.1

+ 8
+ 7
+ Vista
✓ 2012 R2

+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use Release DWORD:

- 378675 (Windows 8.1)
- 378758 (all other)

(see instructions)
4.5

New features

Release notes
4 2012 ✓ 8
+ 7
+ Vista
✓ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use Release DWORD:

378389

(see instructions)
4

New features
4 2010 + 7
+ Vista
+ 2008 R2 SP1
+ 2008 SP2
+ 2003
See instructions
3.5

New features
2.0 2008 ✓ 10*
✓ 8.1*
✓ 8*
✓ 7

+ Vista
+ Windows Server, version 1803*
+ Windows Server, version 1709*
+ 2016*
+ 2012 R2*
+ 2012*

✓2008 R2 SP1*

+ 2008 SP2
+ 2003
See instructions
3.0

New:
WPF, WCF, WF, CardSpace
2.0 - ✓ Vista ✓ 2008 R2 SP1*
✓ 2008 SP2*

+ 2003
See instructions
2.0

New features
2.0 2005 - ✓ 2008 R2 SP1
✓ 2008 SP2
✓ 2003
See instructions
1.1

New features
1.1 2003 - ✓ 2003 See instructions
1.0 1.0 Visual Studio .NET - - See instructions

Note

  • The .NET Framework must be enabled on this operating system through Control Panel (for Windows) or the Server Manager (for Windows Server).
  • 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 to uninstall previous versions. For more information, see Getting Started.

Target and run apps for version 4.5 and later

.NET Framework 4.5 is an in-place update that replaces .NET Framework 4 on your computer, and similarly, .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, and 4.8 are in-place updates to .NET Framework 4.5, which means that they use the same runtime version, but the assembly versions are updated and include new types and members. After you install one of these updates, your .NET Framework 4, .NET Framework 4.5, .NET Framework 4.6, or .NET Framework 4.7 apps should continue to run without requiring recompilation. However, the reverse is not true. We do not recommend running apps that target a later version of the .NET Framework on an earlier version of the .NET Framework. For example, we do not recommend that you run an app the targets .NET Framework 4.6 on .NET Framework 4.5. The following guidelines apply:

  • In Visual Studio, you can choose .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, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, or 4.8 installed.

  • In Visual Studio, you can choose .NET Framework 4.5.1 as the target framework for a project to compile it as a .NET Framework 4.5.1 assembly or executable. Only run this assembly or executable on computers that have .NET Framework 4.5.1 or later installed. An executable that targets .NET Framework 4.5.1 will be blocked from running on a computer that only has an earlier version of the .NET Framework, such as .NET Framework 4.5, installed. 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 an app that targets an earlier version of the .NET Framework, such as .NET Framework 4.5.

    Note

    .NET Framework 4.5.1 and .NET Framework 4.5 are used here only as examples. The principle described applies to any app that targets a later version of the .NET Framework than the one installed on the system on which it's running.

Some changes in the .NET Framework may require changes to your app code. If you're running an existing app on .NET Framework 4.5 or later, see Application compatibility. For information about installing the current version, see Install the .NET Framework for developers. For information about support for the .NET Framework, see Microsoft .NET Framework Support Lifecycle Policy on the Microsoft Support website.

Target and run apps for older versions

.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's 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, .NET Framework 4 ends this layering approach, and it and later releases (.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, and 4.8) also represent successive layers of a single installation. Starting with .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, Windows 8.1, or Windows 10 computer before they can run your app. For more information, see Install the .NET Framework 3.5 on Windows 10, Windows 8.1, and Windows 8.

Next steps

See also