You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hololens 2调用Microsoft.MixedReality.QR出现MissingMethodException问题

异常产生原因
  • 核心冲突是Unity 2021.2版本默认的WinRT运行时,和Microsoft.MixedReality.QR包依赖的WinRT API版本不兼容。System.RuntimeType::GetGUID是旧版WinRT互操作层的实现方法,Unity 2021.2更新底层运行时后移除了该方法的内置实现,依赖旧版WinRT的QR包调用时就会触发缺失方法异常。
  • 第二个常见诱因是安装的Microsoft.MixedReality.QR包版本和当前Windows SDK、Unity版本不匹配,版本过高或过低都会导致互操作调用失败。
  • 第三类原因是Unity项目构建设置中未正确配置UWP的最低目标版本,和HoloLens 2系统运行的版本不匹配也会触发该类运行时异常。
解决方法
  1. 适配Microsoft.MixedReality.QR包版本:打开Unity包管理器,安装0.5.2112版本的QR包,该版本已经过验证适配Unity 2021.2系列,不要使用1.x以上的版本,高版本仅支持Unity 2022及更高版本。
  2. 调整UWP构建设置:
  • 打开Unity的文件>生成设置>UWP面板,目标SDK版本设置为10.0.19041.0,最低版本设置为10.0.18362.0,和你当前的Windows SDK版本匹配。
  • 进入玩家设置>发布设置>功能,确保勾选网络摄像头、互联网(客户端)、图片库、视频库这些QR扫描依赖的权限。
  1. 修复WinRT互操作配置:
  • 在Unity项目Assets目录下新建link.xml文件,添加如下内容,防止Unity打包时裁剪掉运行时需要的类型:
<linker>
  <assembly fullname="System.Runtime" preserve="all" />
  <assembly fullname="Microsoft.MixedReality.QR" preserve="all" />
</linker>
  • 如果完成上述操作后仍报错,打开Unity构建生成的UWP解决方案,右键项目进入属性,把NuGet包Microsoft.Windows.SDK.Contracts的版本降级到10.0.19041.1,和你系统安装的SDK版本对齐。
  1. 完成所有配置后重新生成Unity项目,部署到HoloLens 2设备运行测试即可,QRCodeWatcher.IsSupported()接口可正常返回结果。

内容的提问来源于stack exchange,提问作者Shoejep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:36:02