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

添加C++ DLL至WinRT组件并在UWP中使用时出现模块未找到错误

WinRT组件运行时类访问问题排查方案

核心检查项

  • WinRT组件项目配置

    • 确认C++库以**动态链接库(DLL)**形式链接,静态库易导致运行时依赖缺失
    • 检查组件项目输出类型必须为Windows Runtime Component,而非普通C++ DLL
    • 验证运行时类声明:需标记winrt::Windows::Foundation::Metadata::ApiContract等合规属性,命名空间符合WinRT规范
  • UWP项目引用配置

    • 直接添加WinRT组件项目引用(右键UWP项目→添加→引用→选择目标组件),不要仅手动添加.winmd文件,让VS自动处理依赖传递
    • 确保UWP项目与WinRT组件的目标Windows版本完全一致,版本不匹配会导致类无法识别
  • 编译与部署验证

    • 清理所有项目的bin、obj目录后,按C++库→WinRT组件→UWP项目的顺序重新生成,避免旧编译文件干扰
    • 检查WinRT组件输出目录:确认.winmd、.dll、.pri文件均生成,且UWP项目输出目录已自动复制这些文件
  • 代码层面检查

    • UWP中访问类时,必须正确引入组件的命名空间(如using namespace YourWinRTNamespace;),或使用完整命名空间路径调用
    • 确保WinRT组件暴露的公共接口仅使用WinRT兼容类型,禁止原生C++指针、未封装STL容器等非合规类型作为参数/返回值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 14:32:07