.NET Framework is the Microsoft component that many Windows business applications need in order to run. It is treated as part of Windows: each version of Windows comes with one version of .NET Framework 4 already installed, and most can be updated to a later one.
Version table
| Windows version | .NET Framework included | Latest .NET Framework it can run |
|---|---|---|
| Windows Server 2012 R2 | 4.5.1 | 4.8 |
| Windows Server 2016 | 4.6.2 | 4.8 |
| Windows Server 2019 | 4.7.2 | 4.8 |
| Windows Server 2022 | 4.8 | 4.8.1 |
| Windows Server 2025 | 4.8.1 | 4.8.1 |
| Windows 10, version 1607 | 4.6.2 | 4.8 |
| Windows 10, version 1809 | 4.7.2 | 4.8 |
| Windows 10, versions 21H2 and 22H2 | 4.8 | 4.8.1 |
| Windows 11, version 21H2 (the first release) | 4.8 | 4.8.1 |
| Windows 11, version 22H2 and later | 4.8.1 | 4.8.1 |
Windows 10 changed its included version from release to release. Versions 1607 and 1809 are shown because they are long-term servicing releases. Every release from version 1903 onwards includes 4.8.
Only one version of .NET Framework 4 can be installed at a time. A later version replaces the earlier one in place, and a version older than the one Windows came with cannot be installed. Microsoft says it expects applications built for an earlier 4.x version to keep running on a later one without being rebuilt. It also lists a small number of changes that are not fully compatible, so an update is worth testing before it reaches a live server.
.NET Framework 4.8.1 is not available for Windows Server 2019 or earlier. On those versions, 4.8 is the latest.
What “supported as long as the Windows version” means
Most Microsoft products have a fixed end of support date. .NET Framework 4.8 and 4.8.1 do not. Microsoft defines .NET Framework as a component of Windows, and a component is supported for as long as the Windows version it is installed on.
So the same .NET Framework 4.8 has different end dates on different servers. On Windows Server 2016 it is supported until that operating system reaches the end of support on 12 January 2027. On Windows Server 2022 it is supported until 14 October 2031. Moving an application to a newer Windows Server extends the support for .NET Framework without any change to the application.
The older releases are the exception, because Microsoft retired them on fixed dates:
- .NET Framework 4.5.1 and earlier 4.x releases ended on 12 January 2016.
- .NET Framework 4.5.2, 4.6 and 4.6.1 ended on 26 April 2022.
- .NET Framework 4.6.2 ends on 12 January 2027.
This matters for servers that have never been updated. Windows Server 2012 R2 came with 4.5.1 and Windows Server 2016 came with 4.6.2. If nobody has installed a later version, the fix is to install 4.8.
Microsoft says .NET Framework will continue to be included with Windows and that it has no plans to remove it. It receives security and reliability fixes but no new features.
.NET Framework 3.5 is a separate optional feature
Applications built for .NET Framework 2.0, 3.0 or 3.5 do not run on version 4 by default. They need .NET Framework 3.5, which sits alongside version 4 and is not switched on by default. On Windows Server it is enabled through the Add Roles and Features wizard, under .NET Framework 3.5 Features. On Windows 10 and 11 it is enabled under Windows Features.
Its support works differently too. From Windows 10 version 1809 and Windows Server 2019 onwards, Microsoft treats .NET Framework 3.5 Service Pack 1 as a product in its own right, and the lifecycle page gives it an end date of 9 January 2029. That is earlier than the end of support for Windows Server 2022 and 2025, so an application that depends on 3.5 has a deadline that a newer server does not move. On earlier versions of Windows, 3.5 follows the operating system.
One recent change: from Windows 11 version 26H1, .NET Framework 3.5 is no longer a Windows feature and is only available as a separate download.
Modern .NET is a separate product
.NET 8, .NET 9 and .NET 10 belong to a different product from .NET Framework, despite the similar name. Modern .NET is not part of Windows. It is installed separately, and several versions can sit side by side on one machine. It can also be installed next to .NET Framework without affecting it. Microsoft lists .NET 8, 9 and 10 as supported on every Windows Server version in the table above.
Each version of modern .NET has its own fixed end date. .NET 8 and .NET 9 both end on 10 November 2026, and .NET 10 ends on 14 November 2028. The full list is on our .NET end of support page.
An application written for .NET Framework does not run on modern .NET as it stands. Moving it across is a development project, and how large depends on the application. Our .NET upgrade assessment is a fixed-price way to find out.
Sources
- .NET Framework versions and dependencies
- .NET Framework system requirements
- Lifecycle FAQ: .NET Framework
- Microsoft .NET Framework lifecycle
- Install .NET Framework 3.5 on Windows 10 and Windows Server
- Install .NET Framework 3.5 on Windows 11
- Install .NET on Windows
Last checked against Microsoft’s pages on 2 October 2026. Microsoft’s pages are the authority: if this page and Microsoft’s disagree, follow Microsoft.