【问题标题】:hockeyapp throws exception on UWP in xamarin.forms applicationhockeyapp 在 xamarin.forms 应用程序中的 UWP 上引发异常
【发布时间】:2017-05-18 15:20:53
【问题描述】:

当我现在尝试在模拟器和本地 win10 机器上使用 uwp 应用程序时,我在 android 和 ios 中成功使用了 hockeyapp。它会因为缺少“'Windows.System.Profile.HardwareIdentification'.":"Windows.System.Profile.HardwareIdentification""

而抛出异常

我的UWP版本如下

我的应用程序是一个 xamarin.forms 应用程序。这是我安装的

  • XF 项目:HockeySDK.Xamarin、HockeySDK.Core
  • UWP 项目:HockeySDK.Core、HockeySDK.UWP

在我添加的UWP项目MainPage.xaml.cs的构造函数中

 Microsoft.HockeyApp.HockeyClient.Current.Configure(HockeyAppID);

在 XF 项目中的 try catch 函数中,我触发 TrackException,如下所示

catch (Exception ex)
                {
                Dictionary<string, string> properties = new Dictionary<string, string>();
                properties.Add(key, value);
                Microsoft.HockeyApp.HockeyClient.Current.TrackException(ex, properties);
                }

当我搜索它时,我只找到this 之类的帖子,其中显示了如何获取 HardwareIdentification 但我认为 hockeyapp 应该为我获取它,并且它可以在 android 上获取。 UWP 有什么问题?如果是,我必须自己做吗?我应该在哪里传递这些信息?或者可能是我的win10安装有问题:)

【问题讨论】:

  • 尝试了一个演示并将您的 catch 代码放入 UWP 项目中,我无法重现您的问题,您是否在 PCL 中发现异常?
  • @GraceFeng-MSFT 在 PCL 中是。我实际上发现我的项目可以在另一台计算机上运行。在引发此异常的计算机中,位置 C:\Program Files (x86)\Windows Kits\10\References\Windows.System.Profile.ProfileHardwareTokenContract\1.0.0.0\ 中不存在 Windows.System.Profile.ProfileHardwareTokenContract.winmd .我不知道这是怎么发生的,我不确定这是否与 VS2017RC 安装有关。前一周我已经安装和卸载了它。然后问题开始了。你知道如何在没有完整安装 VS 的情况下恢复它吗?
  • 你试过修复Programs and Features下的VS吗?如果它不起作用,我只能建议你重置你的电脑并重新安装VS ...我知道它很麻烦,但通常无法从电脑上卸载VS,这可能是这里的问题,正如你所说的你安装和已卸载VS。
  • @GraceFeng-MSFT 我相信这与 VS 无关。我已将我的 Win10 升级到周年更新,但即使在更新后,问题仍然存在。路径 C:\Program Files (x86)\Windows Kits\10\References\Windows.System.Profile.ProfileHardwareTokenContract\1.0.0.0 中缺少 Windows.System.Profile.ProfileHardwareTokenContract.winmd。如果没有新的 Windows 10 安装,我找不到任何信息如何恢复或修复此问题?请问您有什么想法吗?

标签: hockeyapp xamarin.uwp


【解决方案1】:

我终于找到了我的问题的答案。尽管我的 uwp 配置了图像中的最小和最大版本,并且我安装了 sdk 14393。

显然这还不够。如果你没有 SDK。 2015 年 11 月发布。(版本 10.0.10586.212),不会为 Windows.System.Profile.ProfileHardwareTokenContract.winmd 生成文件,如下图所示。一旦我也安装了这个 sdk,文件就成功创建了。

使用 hockeyapp、xamarin 洞察力、应用程序洞察力等似乎需要此文件,因为它们需要识别设备。稍后当您想将您的应用程序发送到 Windows 商店时,它也是必要的。我希望这可以帮助一些人

【讨论】:

    猜你喜欢
    • 2014-09-07
    • 2016-11-22
    • 1970-01-01
    • 2017-11-04
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    相关资源
    最近更新 更多