在C#中获取Windows 10中的当前版本操作系统

Olg*_*lga 3 c# operating-system version windows-10

我用C#.我尝试获取当前版本的操作系统:

OperatingSystem os = Environment.OSVersion;
Version ver = os.Version;
Run Code Online (Sandbox Code Playgroud)

我上了Windows 10: 6.2.

6.2Windows 8WindowsServer 2012(在.net中检测Windows版本)

我找到了以下解决方案(如何检测我的应用程序是否在Windows 10上运行).

static bool IsWindows10()
{
  var reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");
  string productName = (string)reg.GetValue("ProductName");
  return productName.StartsWith("Windows 10");
}
Run Code Online (Sandbox Code Playgroud)

这是在C#中获取当前版本的最佳方法吗?

mag*_*981 6

应用程序清单添加到您的应用程序,并将支持的Windows 8.1和Windows 10的Id添加到清单:

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
        <application> 
            <!-- Windows 10 --> 
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
            <!-- Windows 8.1 -->
            <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
        </application> 
    </compatibility>
Run Code Online (Sandbox Code Playgroud)

现在Environment.OSVersion包括适用于Windows 8.1和Windows 10而不是6.2的正确数据,以指示您运行Windows 8.这是自Windows 8.1以来更改.