我正在开发一个 UWP 应用程序,该应用程序使用了旧版 Windows 10 中不可用的一些功能。因此,我需要检查是否安装了 Creators Update。
应用程序中有使用 AnalyticsInfo.VersionInfo 的版本检查代码。然而,最新一轮的 WACK 测试给出了以下失败:
平台版本启动失败 • 发现错误:高操作系统版本验证检测到以下错误:
o 无法停止应用 AppName.group.mbb。
o 应用 Company.AppName_2.3.56045.0_x64__cx08jceyq9bcp 未能通过平台版本启动测试。
• 未修复的影响:应用程序不应使用版本信息来提供特定于操作系统的功能。
• 如何修复:请使用推荐的方法检查操作系统中的可用功能。有关更多信息,请参阅下面的链接。操作系统版本
我知道这个问题,但如果可能的话,我宁愿修复失败。我在 MSDN 上找到了有关如何使 UWP 应用程序“版本自适应”的建议的建议。
我现在有这个代码:
using Windows.Foundation.Metadata;
if (ApiInformation.IsMethodPresent("Windows.Networking.Connectivity.ConnectionProfile", "GetNetworkUsageAsync"))
{
//do stuff
}
我的Windows版本是1703 15063.483,GetNetworkUsageAsync在代码的其他地方成功使用。但是对 IsMethodPresent 的调用总是返回 false。
我的代码有什么问题?
是否有更好的功能可以检查,以了解是否安装了 Creators Update?
更新:我遵循 Microsoft 针对上述失败的指导方针,并将版本检查从 AnalyticsInfo.VersionInfo 更改为 Windows.Foundation.Metadata.ApiInformation。该应用程序仍然未能通过 WACK 测试并出现相同的错误。
第二次更新:
将 Windows10 更新到 Creators Update,Build 16251.0 后,这个错误在我的电脑上消失了。