
This article was written in 2023. Versions, tools and recommendations may have changed since then. Newer posts are collected under .NET.
Version numbers have always been a rather weird maintained matter under Windows; however, it became particularly bad with Windows 10, respectively 11. Actually, Windows 10 was supposed to be the last version number - but as most people correctly assumed, this has changed as we know.
What’s stupid now is that both Windows 10 and Windows 11 carry the major and minor version 10.0; so there is no clear version number for Windows 10 or 11 for the time being.
The only possibility is actually the build number; also called release number.
From version 10.0.22000 onwards it is Windows 11.
To get the build number you can use the following snippet:
System.Environment.OSVersion.Version.Build
Related articles

- 11 min read
Containerizing .NET in 2026 Without a Dockerfile
Most .NET Dockerfiles repeat the same five steps: restore, publish, select the matching Microsoft runtime image, copy the output and start …

- 12 min read
Problem Details in ASP.NET Core and .NET 11
builder.Services.AddProblemDetails() registers infrastructure. It does not create an error contract. An ASP.NET Core request can fail during …

- 11 min read
Resilience in .NET with Microsoft.Extensions.Resilience
Retries are the most visible resilience strategy and the easiest one to misuse. Repeating a failing call can recover from a short network …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.
