You need to enable JavaScript to run this app. Ubuntu 18.04运行C# Azure自定义视觉ONNX模型API报WinRT DLL加载失败
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04运行C# Azure自定义视觉ONNX模型API报WinRT DLL加载失败

异常根因

最内层异常为System.DllNotFoundException,报错缺失的api-ms-win-core-com-l1-1-0.dll是Windows COM运行时的核心组件。
触发报错的直接代码位置是项目中调用的Windows.Storage.StorageFile.GetFileFromPathAsync接口——这套接口属于Windows专属的WinRT框架能力,Windows环境下系统原生预置对应依赖,因此代码可正常运行;Ubuntu 18.04没有内置WinRT运行时,初始化模块时就会触发dll加载失败。

可落地修复方案
  • 替换跨平台不兼容的文件操作逻辑:将代码中所有调用WinRT StorageFile接口读取本地ONNX模型的逻辑,替换为.NET 基础类库自带的跨平台IO接口,例如通过File.OpenRead()、File.ReadAllBytes()直接读取本地模型文件的二进制流,这类逻辑不依赖WinRT运行时,可在Windows、Ubuntu环境无差异运行。
  • 排查并移除WinRT专属依赖:检查项目NuGet引用列表,若引用了桌面专属的Azure自定义视觉推理SDK,替换为支持跨平台部署的版本,避免代码在隐式初始化阶段自动拉起WinRT运行时模块。
  • 规避无效调试路径:不要尝试在Ubuntu环境中手动拷贝Windows系统的对应dll做兼容垫片,WinRT组件深度绑定Windows内核调用逻辑,这类操作会在后续COM初始化环节触发新的依赖加载错误,无法从根本解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 03:15:04