Environment.OSVersion Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets an OperatingSystem object that contains the current platform identifier and version number.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static OperatingSystem OSVersion { get; }

Property Value

Type: System.OperatingSystem

An object that contains the platform identifier and version number.

Exception Condition

This property was unable to obtain the system version.


The obtained platform identifier is not a member of PlatformID


Starting with Windows 8, the OSVersion property returns the same major and minor version numbers for all Windows platforms. Therefore, we do not recommend that you retrieve the value of this property to determine the operating system version.

Typically, the OSVersion property is used to ensure that an app is running on some base version of an operating system in which a particular feature was introduced. When this is the case, you should perform a version check by testing whether the current operating system version returned by the OSVersion property is the same as, or greater than, the base operating system version. For more information, see the Version class topic.

Through Windows 8, the OSVersion property returns the version reported by the Windows GetVersionEx function. For a list of Windows desktop operating system versions and their corresponding version numbers, see Operating System Version in the Windows Dev Center.


The OSVersion property reports the same version number ( for both Windows 8 and Windows 8.1 and the same major and minor version number for Windows 10.

In some cases, the OSVersion property may not return the operating system version that matches the version specified for the Windows Program Compatibility mode feature.

The following example displays the platform identifier and version number of the computer that runs the code example.

// Sample for the Environment.OSVersion property
using System;

class Sample 
    public static void Main() 
    Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());
This example produces the following results:

OSVersion: Microsoft Windows NT 5.1.2600.0

.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top