"Has Microsoft discontinued .NET Framework?"
It's a question I've heard many times in varying forms. Microsoft has answered it, but the gritty details are spread across multiple web pages, making it hard to get a full picture of exactly what is supported, and what "supported" means. In this blog post I will summarise all the details, with links back to the relevant Microsoft documentation.
The Short Answer
Microsoft has effectively discontinued .NET Framework. However, certain .NET Framework versions are still supported with security updates and bugfixes so long as you are running a supported version of Windows.
The Three .NETs
The .NET family encompasses several products with similar names. Before continuing, it's worthwhile to briefly outline each one.
- .NET Framework: The original .NET platform, first released in 2002 and installed on Windows out-of-the-box.
- .NET Core: The successor to .NET Framework, first released in 2016. Microsoft has officially renamed it to simply ".NET", but most people still call it .NET Core to avoid it being confused with .NET Framework.
- .NET Standard: A kind of specification representing the collection of APIs that both .NET Framework and .NET Core have in common. Applications cannot be built for .NET Standard, but libraries can target it. This enables them to be used in both .NET Framework and .NET Core projects at the price of missing out on any features exclusive to one platform or the other.
This blog post concerns .NET Framework, and not .NET Core or .NET Standard.
Recent .NET Framework Milestones
- 2019-04-18: Microsoft announces the release of .NET Framework 4.8.
- 2019-05-06: Microsoft announces that .NET Framework 4.8 will be the last major version.
- 2022-08-09: Microsoft announces the release of .NET Framework 4.8.1 (a minor version).
Is .NET Framework Discontinued?
Yes, in the sense that there will never be another major .NET Framework release. This means that .NET Framework is unlikely to see any significant new updates or enhancements in the future. However, this does not preclude minor releases and features. For example, .NET Framework 4.8.1 added support for the Arm64 architecture and some accessibility improvements.
Is .NET Framework Still Supported?
Yes, certain .NET Framework versions are still supported with periodic updates to address security vulnerabilities and bugs. At the time of writing, the most recent of these is the February 2023 Security and Quality Rollup Update.
These updates are only made available for supported versions of Windows. Windows releases that have reached End Of Life, such as Windows 7, no longer receive .NET Framework updates. You can check the support status of your Windows version here.
Note that although .NET Framework 2.0 and 3.0 have reached End Of Life and are no longer supported, they may still receive updates from time-to-time. This is because they are both dependencies of .NET Framework 3.5 SP1, which is supported until 2029-01-09.
Has Microsoft set an End Of Life Date for .NET Framework?
As of this blog post, no, not for .NET Framework as a whole. As per the above, individual .NET Framework versions may have an End Of Life date.
The Opinion ZoneThis section is my opinion, and not backed up by Microsoft documentation.
When will Microsoft Cease .NET Framework Support?
I speculate that Microsoft will continue supporting .NET Framework for the foreseeable future. It's my understanding that parts of Windows rely on .NET Framework, so Microsoft will likely continue supporting it on that basis alone until such time as they can be migrated to a different platform (e.g. .NET Core) or replaced—if ever.
Additionally, Microsoft has historically made strong commitments to maintaining backward compatibility with software developed in Microsoft programming languages—even long after those programming languages reach End Of Life. For example, did you know that Visual Basic 6 programs are still supported in Windows 11? It's true! VBScript is also still supported, albeit as an optional component.
On that basis, I anticipate that future Windows versions will continue to support running .NET Framework programs long after Microsoft ceases to support .NET Framework with security updates and bug fixes.
However, looking to Visual Basic 6 and Visual J# as examples, it's possible that future versions of Visual Studio will cease to support opening and developing .NET Framework projects. And although it will still be possible to use older Visual Studio versions, they may eventually cease to be supported by future versions of Windows.
Should I Continue Developing with .NET Framework?
Generally speaking, no; but it depends.
New projects should be developed using .NET Core unless you have a good reason otherwise. For example, if you need to use a .NET Framework library and there is no .NET Core alternative available, then you don't have many options.
If you have an existing .NET Framework project, you may wish to consider migrating to .NET Core. However, that isn't always possible or practical. For example, there is no migration path for ASP.NET Web Forms projects; ASP.NET Web Forms is not supported in .NET Core and there is no direct successor (ASP.NET Core MVC is fundamentally different.)
There is no inherent harm in continuing to develop with .NET Framework. However, it means missing out on a lot of new features. This is especially apparent in ASP.NET, which remains forever locked in time while the World Wide Web and browsers continue to rapidly evolve.
Which .NET Framework Version Should I Use?
If you must use .NET Framework, use the latest available version, 4.8.1. Older versions are likely to reach End Of Life sooner and have no substantial advantages unless you have a requirement to support very old versions of Windows. A compatibility list of Windows and .NET Framework versions can be found here.
Hopefully that clarifies the current state of .NET Framework. If you're still stuck with it, it's not so bad. So long as you're running a supported version of Windows and keeping it up-to-date, you'll continue to benefit from the latest .NET Framework security and bug fixes.
But if you get a good opportunity, check out .NET Core. It has a tonne of great new features, Visual Basic is still supported, and C# is better than ever!