qq_42016887 2022-08-22 14:27 采纳率: 0%
浏览 42

C#调用COM出现0X80040154

电脑操作系统:64位
软件:VS2022 (C# Windows 窗体控件库)框架framework 4.5
调用COM为WinCC软件的一个dll

调试有问题的代码部分为
using CCHMIRUNTIME;
中间部分省略—
private void Button1_Click(object sender, EventArgs e)
{
HMIRuntime HMIRT = new HMIRuntime();
省略—
}

(1)当目标平台为x64时进行调试,窗体是可以显示的,但是显示System.Runtime.InteropServices.COMException:“检索 COM 类工厂中 CLSID 为 {E9A43486-04B3-4367-AE5E-276B70AE00EB} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。”
(2)于是我尝试把目标平台改为x86,再次调试,这时候窗体不显示,直接弹出错误System.BadImageFormatException:“未能加载文件或程序集“file:///C:\Users\Administrator\Desktop\report\report\obj\x86\Debug\report.dll”或它的某一个依赖项。试图加载格式不正确的程序。”
(3)尝试把引用的dll放到C:\Windows\System32和C:\Windows\SysWOW64用regsvr32注册,均显示注册成功,再用两个目标平台又尝试了一边,仍然和(1)、(2)一样的问题。

  • 写回答

1条回答 默认 最新

  • 自在猫先生 2022-08-22 16:45
    关注

    第二个的问题 这个异常应该是它存在两个这个dll,程序不知道引用到是哪一个

    评论

报告相同问题?

问题事件

  • 创建了问题 8月22日

悬赏问题

  • ¥15 C#.net通过内网url地址获取文件并下载问题,浏览器postman可以正常下载,用程序不行
  • ¥15 本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!
  • ¥15 关于R语言单因素与多因素线性回归的平均值
  • ¥15 服务器清除BIOS之后引导不了
  • ¥15 CPLEX用OPL编写的混合整数线性优化问题。
  • ¥15 可以用EasyConnect连接实验室内网,但无法连接内网才能访问的服务器,为什么?
  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度
  • ¥25 主成分分析中的第一第二主成分分别代表哪些参数
  • ¥15 oracle数据库查询语句问题