将COM DLL合并到c#中

本文关键字:合并 COM DLL | 更新日期: 2023-09-27 18:08:24

我在将COM DLL合并到c#中遇到了一些问题。网络程序。DLL是第三方给我的。它是在VB6中完成的。目前,这是我收到的错误。

System.Runtime.InteropServices。COMException未处理。HResult=-2147221164消息=检索COM类工厂CLSID为{46F5C9EE-D750-4740- AFBD-682F1E097776}的组件失败80040154类未注册(异常from HRESULT: 0x80040154 (regdbe_classnotreg)).

当我尝试从DLL文件中的一个类创建一个新对象时,它会抛出异常。

我试过用regsvr32.exe注册DLL,并使用tlbimp.exe创建另一个DLL(它工作,但给了我大量的警告)。每次我试着调试我的程序,我得到一些异常。

我应该放弃并在VB6中这样做吗?我真的不想…

将COM DLL合并到c#中

您缺少第三方VB6 DLL所依赖的DLL。这可以是另一个VB6 DLL或另一个第三方引用(或较低级别的DLL,如VB运行时)。

解决问题的最佳方法是询问第三方提供商需要哪些DLL作为依赖项。作为一个VB6开发者,他们应该能够轻松地回答这个问题,而不是你必须运行一些东西,比如依赖walker,这很容易把你带到错误的道路上。

好的,我解决了这个问题。COM DLL让我访问的第三方软件需要在计算机上插入USB加密狗,否则它只能在试用模式下运行。