【发布时间】:2016-05-18 23:56:52
【问题描述】:
我正在运行一个 c# 应用程序并且我正在使用 DSOFile dll。该 DLL 在项目中被引用。我可以在我的开发机器上运行 exe。 但是当我在另一台机器上运行 exe 时,我得到了
未处理的异常:System.Runtime.InteropServices.COMException:检索具有 CLSID {58968145-CF05-4341-995F-2EE093F6ABA3} 的组件的 COM 类工厂失败,原因是以下错误:80040154 未注册类(来自 HRESULT 的异常: 0x80040154 (REGDB_E_CLASSNOTREG))。
不知道为什么我会得到这个。谷歌搜索并将平台目标设置为 x86 但我仍然遇到这个问题。任何帮助都会很棒。
【问题讨论】:
-
我猜 COM 库没有在另一台计算机上注册。尝试在目标系统上使用具有管理员权限的命令行执行
regsvr32.exe DSOFile.dll -
非常感谢 MickyD。在这种情况下,我是否需要在每台运行 exe 的机器上注册这个 COM 库?
-
谢谢 MickyD。我不记得在我的开发机器上做过这个。这让我想知道我还缺少什么
-
啊'ol'“它适用于我的机器参数”;) 在不知道 DSOFile 库的作用的情况下,它很可能在你不知道的情况下注册在你的盒子上。也许一些安装程序?不管怎样,看看我下面的建议。
标签: c# interop console-application dsofile