【发布时间】:2023-03-12 13:43:01
【问题描述】:
我正在使用 C# 和 Visual Studio 11 Beta 编写 Metro Style 应用程序。 现在我想获得操作系统的操作系统版本。我怎样才能得到这个?
我发现了如何在“普通”应用程序中做到这一点。 在那里,您使用属性 OSVersion 的 Environment-Class,但在 .NET Core 中没有此属性
【问题讨论】:
-
我将它发送到一个 WebService 并在那里按 OS-Version 对请求进行排序。
-
我在 API 文档中看不到任何明显的内容,因此您也许可以在您的 Metro 应用程序版本中对其进行硬编码?
-
故意无法获取操作系统版本。历史上,应用程序误用了操作系统版本,而不是依赖于各种形式的功能检测,这给开发团队带来了严重的 appcompat 问题。对于 Windows 8,开发团队决定通过不提供 GetVersion API 来完全避免该问题。
-
@LarryOsterman - 你能举例说明如何对 c#/xaml 应用程序进行特征检测吗?我们必须使用反射吗?
-
目前 C#/Xaml 中没有对特征检测的语言投影支持,因为只有一个版本(因此所有功能都可用)。 WinRT 平台支持版本控制和功能检测,但语言预测没有实现它(因为没有办法测试它们的实现)。我什至无法推测如何实现特征检测,因为我没有参与这些特征的设计。
标签: c# operating-system windows-8 microsoft-metro windows-runtime