【已解决】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类

检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类

win7 X64系统下,VS2015运行C#对OPC取数的时候报上述错误。

可能出现原因:

1.COM组件没有在电脑里面注册。

2.第三方写的COM控件只支持X86系统,不支持X64系统。

3.System32下部分相关dll缺失

解决方法:

步骤1. 在VS项目中右击属性-生成-常规-目标平台,查看是否为X64,如果是,修改为X86或者Any CPU

步骤2. 链接:https://pan.baidu.com/s/12QowHJv1h1EmBZvCZEx2fg 密码:mtpg                                                                       下载解压,然后复制并替换到C:\Windows\System32路径下,提示遇到需要提供管理员权限则提供,提示无权限则跳过

步骤3. C:\Windows\System32路径下的cmd.exe右键管理员权限运行,否则会出现错误:模块已注册但是 dllregister server调用失败       输入REGSVR32 OPCDAAuto.dll  

【已解决】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类

步骤4. 在项目中引用COM下的OPC DA Automation Wrapper 2.02

【已解决】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类

本人亲测运行成功,因为我也是遇到这个问题,然后网上搜了很多方法都没能解决,最终是看到参考链接的博客才得以解决,在此感谢一下该博主。

参考链接

https://blog.csdn.net/yemoweiliang/article/details/53313996#commentsedi