【报错】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败错误
情况描述
在使用C#进行工控软件开发,需要连接通过OPC连接DCS系统时,需要通过visual studio的NuGet包管理器添加OpcAutomation,如下图所示:
这样便可以实现通过C#连接读取数据。但是在通过C#连接OPC server时,会出现错误“检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败错误”。
解决方法
修改目标平台CPU类型
首先要在VS项目中右击属性-生成-常规-目标平台,查看是否为X64,如果是,修改为X86或者Any CPU,保证组件可以正常运行。
其次,需要在电脑中注册opcdaauto.dll组件。
下载组件文件
首先需要下载opcdaauto.dll组件
下载地址:
链接:https://pan.baidu.com/s/1v6ddTeHdtpA5zUm15Pmiqg?pwd=1fdi
提取码:1fdi
复制到指定路径
下载完之后,将该组件复制到以下两个指定路径:
1:C:\Windows\System32
2:C:\Windows\SysWOW64
运行指定命令行程序
复制完之后,在系统程序内找到命令提示符程序并以管理员身份运行。
分别执行以下代码。
1:
REGSVR32 C:\Windows\System32\OPCDAAuto.dll
然后得到下面的运行结果
2:
REGSVR32 C:\Windows\SysWOW64\OPCDAAuto.dll
得到下面的运行结果
完成以上步骤即可完成所有的配置工作。