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

面向HoloLens 2的Unity项目集成SimpleITK及部署报错如何解决?

问题排查与解决步骤

1. 修正SimpleITK编译配置

你之前使用的是Windows桌面ARM架构的通用编译流程,没有适配HoloLens 2运行的UWP平台,这是最核心的错误原因,需按如下要求重新编译SimpleITK:

  • CMake配置时添加参数 -DCMAKE_SYSTEM_NAME=WindowsStore 和 -DCMAKE_SYSTEM_VERSION=10.0,明确指定目标平台为UWP
  • 禁用所有依赖桌面Win32 API的模块,仅保留基础影像处理相关的编译选项
  • 运行库选择 /MD 或 /MDd,和Unity IL2CPP的UWP运行库配置保持一致

2. 调整Unity侧插件导入配置

  • 选中原生库 SimpleITKCSharpNative.dll,在Inspector面板做如下配置:
    • 勾选 仅WSAPlayer平台生效,排除Editor平台
    • CPU架构指定为 ARM64
    • 勾选 Don't process,避免Unity对原生dll做额外的IL2CPP处理
  • 选中托管库 SimpleITKCSharpManaged.dll,做如下配置:
    • 勾选 Editor 和 WSAPlayer 两个平台生效
    • 处理器架构选择 Any CPU
    • 关闭 Validate References 选项,避免IL2CPP裁剪时误删依赖

3. 关闭IL2CPP激进裁剪

Unity UWP发布默认开启的代码裁剪会误删SimpleITK托管层绑定的接口,可通过两种方式解决:

  • 打开 Player Settings->Other Settings->Optimization,将 Managed Stripping Level 改为 Low 或 Disabled
  • 若需保留裁剪功能,可在Assets根目录新建link.xml文件,内容如下:
<linker>
  <assembly fullname="SimpleITKCSharpManaged" preserve="all"/>
</linker>

4. 配置UWP应用权限

SimpleITK处理医学影像需要的文件读写等权限默认不会开启,需手动配置:

  • 打开 Player Settings->Publishing Settings->Capabilities
  • 勾选你用到的相关权限,常见需要勾选的有 Documents Library、Pictures Library、BroadFileSystemAccess、Internet(Client)

5. 补全原生依赖库

打开VS ARM64原生工具命令提示符,执行 dumpbin /dependents SimpleITKCSharpNative.dll 查看所有依赖项,将所有依赖的ARM64 UWP版本dll一同放入Unity的Plugins目录下。

完成以上步骤后重新打包部署即可解决dll加载后立刻卸载的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:15:03