.NET应用程序在Windows 10上将不同的操作系统版本返回到PowerShell

时间:2015-08-20 14:34:15

标签: c# .net windows powershell windows-10

我正在尝试确定.NET应用程序中的操作系统版本,该应用程序已经使用System.Environment.OSVersion成功确定适用于Windows 8.1的所有Windows版本的版本。

但是,在Windows 10上的.NET应用程序中调用formatStyle时,返回的版本为System.Environment.OSVersion(与Windows 8.1上的输出完全相同)。但是,当通过PowerShell调用Microsoft Windows NT 6.2.9200.0时,输出会给我[System.Environment]::OSVersion

我的印象是PowerShell使用.NET并期望两个调用返回完全相同的输出。为什么输出中存在差异,更重要的是,如何检测我的应用程序是否在Windows 10上运行?

1 个答案:

答案 0 :(得分:8)

我认为http://expressjs.com/4x/api.html#req.route

  

随着Windows 8.1的发布,GetVersion API的行为已更改为操作系统版本返回的值。 GetVersion函数返回的值现在取决于应用程序的显示方式。

     

未在Windows 8.1或Windows 10中显示的应用程序将返回Windows 8操作系统版本值(6.2)。