Windows 10 RTM OSVersion没有返回我所期望的

当调用Windows 10版本时:

Environment.OSVersion.ToString() 

返回这个

在这里输入图像说明

Windows 8和8.1版本返回6.2不是6.3?!

即时通讯使用Windows 10 RTM(从Windows Update升级)VS 2015 RC和.NET 4.6

现在我需要得到正确版本的Windows,任何解决scheme?

Solutions Collecting From Web of "Windows 10 RTM OSVersion没有返回我所期望的"

这不是一个错误,它在MSDN中:

操作系统版本

 Windows 10 Insider Preview 10.0* Windows server Technical Preview 10.0* Windows 8.1 6.3* 

*:适用于Windows 8.1或Windows 10内幕预览版的应用程序。 不会显示在Windows 8.1或Windows 10内幕预览版中的应用程序将返回Windows 8操作系统版本值(6.2) 。 要为Windows 8.1或Windows 10内幕预览显示您的应用程序,请参阅针对您的Windows应用程序 。

无论如何,你需要什么Windows版本?

而是使用WMI查询,这是获取版本和相关产品名称的最可靠的方法。

  public static KeyValuePair<string, string> GetOSVersionAndCaption() { KeyValuePair<string, string> kvpOSSpecs = new KeyValuePair<string, string>(); ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption, Version FROM Win32_OperatingSystem"); try { foreach (var os in searcher.Get()) { var version = os["Version"].ToString(); var productName = os["Caption"].ToString(); kvpOSSpecs = new KeyValuePair<string, string>(productName, version); } } catch { } return kvpOSSpecs; } 

Windows 10有一个新的注册表项 – 你将从Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentMajorVersionNumber", Nothing)和(理论上)不是从早期版本得到10的结果。

根据秒表对象在0毫秒内运行,而WMI方法至少需要30毫秒。