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

Unity构建HoloLens 2应用报Handedness歧义引用编译错误求助

HoloLens 2 MRTK应用构建失败(CS0104 Handedness歧义错误)解决方案

问题表现

  • Unity编辑器播放模式下全功能运行正常,MRTK官方示例场景在播放模式下也无异常
  • 执行应用构建操作时直接失败,无法部署到HoloLens 2设备
  • 已通过MixedRealityFeatureTool更新MRTK版本,按照官方配置流程完成环境搭建,故障未解决

报错日志

Library\PackageCache\com.microsoft.mixedreality.toolkit.foundation@251fc689f36f\Providers\WindowsMixedReality\XRSDK\WindowsMixedRealityDeviceManager.cs(404,128): error CS0104: 'Handedness' is an ambiguous reference between 'Microsoft.MixedReality.Input.Handedness' and 'Microsoft.MixedReality.Toolkit.Utilities.Handedness'
Error building Player because scripts had compiler errors
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002da] in <1135c66e5f4c41a7831fa5798849d8b6>:0 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <1135c66e5f4c41a7831fa5798849d8b6>:0 
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

根因说明

编辑器播放模式仅做增量脚本编译,不会校验目标平台专属脚本的命名空间冲突;构建时会全量编译UWP/HoloLens平台相关所有脚本,此时两个不同命名空间下的同名Handedness枚举同时被引入,触发CS0104歧义错误。冲突来源是项目同时安装了旧版独立Windows Mixed Reality输入包,与MRTK Foundation内置的Handedness枚举定义重名。

修复步骤

  • 优先方案(无侵入,推荐)
    1. 打开Unity Package Manager,在已安装包列表中找到独立的Microsoft Windows Mixed Reality Input包(包名通常为com.microsoft.windows.mixedreality.input),执行卸载操作。MRTK Foundation包已经内置WMR平台输入适配逻辑,无需额外安装旧版独立输入包。
    2. 关闭Unity编辑器,删除项目根目录下的Library文件夹,重新打开项目等待资源全量导入完成。
    3. 重新执行构建操作即可。
  • 临时修复方案(无法卸载冲突包时使用)
    1. 在Project窗口定位到报错路径下的WindowsMixedRealityDeviceManager.cs文件。
    2. 跳转至文件第404行,将该行未指定命名空间的Handedness引用,替换为带完整命名空间的Microsoft.MixedReality.Toolkit.Utilities.Handedness。
    3. 等待脚本重新编译完成后再执行构建。
  • 校验项
    打开Player Settings -> Other Settings -> Scripting Define Symbols,检查是否同时存在旧版WMR输入相关的宏定义(如WMR_LEGACY_INPUT),若存在则删除,保存设置后重启Unity。

注意:直接修改PackageCache目录下的包源码属于临时方案,后续更新MRTK版本时修改会被覆盖,优先采用清理冲突依赖的方式修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:56:48