我正在尝试确定.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上运行?
答案 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)。