如何检测 .NET 中的 Windows 操作系统版本?
我可以使用什么代码?
System.Environment.OSVersion具有区分大多数 Windows 操作系统主要版本(但不是全部)所需的信息。它由映射到以下 Windows 版本的三个组件组成:
System.Environment.OSVersion
+------------------------------------------------------------------------------+ | | PlatformID | Major version | Minor version | +------------------------------------------------------------------------------+ | Windows 95 | Win32Windows | 4 | 0 | | Windows 98 | Win32Windows | 4 | 10 | | Windows Me | Win32Windows | 4 | 90 | | Windows NT 4.0 | Win32NT | 4 | 0 | | Windows 2000 | Win32NT | 5 | 0 | | Windows XP | Win32NT | 5 | 1 | | Windows 2003 | Win32NT | 5 | 2 | | Windows Vista | Win32NT | 6 | 0 | | Windows 2008 | Win32NT | 6 | 0 | | Windows 7 | Win32NT | 6 | 1 | | Windows 2008 R2 | Win32NT | 6 | 1 | | Windows 8 | Win32NT | 6 | 2 | | Windows 8.1 | Win32NT | 6 | 3 | +------------------------------------------------------------------------------+ | Windows 10 | Win32NT | 10 | 0 | +------------------------------------------------------------------------------+
对于允许您更完整地了解当前执行环境正在其中运行的 Windows 的 确切 版本的库,请查看此库。
重要提示 :如果您的可执行程序集清单未明确声明您的 exe 程序集与 Windows 8.1 和 Windows 10.0 兼容,System.Environment.OSVersion则将返回 Windows 8 版本,即 6.2,而不是 6.3 和 10.0!来源:这里。
更新 :在 .NET 5.0 及更高版本中,System.Environment.OSVersion始终返回实际的操作系统版本。有关详细信息,请参阅Environment.OSVersion 返回正确的操作系统版本。