This document details the various runtime versions available for Microsoft development platforms, their compatibility, and key features.
Last Updated: October 26, 2023
Article ID: RTVER-DOC-4589
Understanding runtime versions is crucial for ensuring application compatibility, performance, and access to the latest features. Microsoft continuously updates its runtimes to provide enhanced security, stability, and new programming capabilities. This page serves as a comprehensive guide to navigating these versions.
The following are the primary runtime environments relevant to modern Microsoft development:
The .NET ecosystem has evolved significantly. Here's a look at major versions and their general compatibility:
| Version | Release Date (Approx.) | Key Features / Notes | Supported Until (General) |
|---|---|---|---|
| .NET Framework 4.8 | April 18, 2019 | Latest major version of .NET Framework. Extensive API coverage. Receives security and reliability updates. | Indefinite (Receives updates) |
| .NET Core 3.1 | December 3, 2019 | Cross-platform, high-performance, open-source. Extended Support ended September 13, 2023. | (EOL) |
| .NET 5 | November 10, 2020 | First release in the new unified .NET platform. Cross-platform. | May 10, 2022 |
| .NET 6 | November 8, 2021 | Long-Term Support (LTS) release. Cross-platform, improved performance, C# 10 features. | November 12, 2024 |
| .NET 7 | November 8, 2022 | Standard Term Support (STS) release. Performance improvements, C# 11 features. | May 14, 2024 |
| .NET 8 | November 14, 2023 | LTS release. Further performance enhancements, C# 12 features, Native AOT improvements. | November 10, 2026 |
You can check the installed runtime versions on your system using various methods:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name Version -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -like 'v*' } | Select-Object PSChildName, Version for .NET Framework. For .NET Core/.NET 5+, check installed applications or use dotnet --list-runtimes in the command line.dotnet --list-runtimes.