在 Visual Studio 2022 中使用 ActiveX DLL 会导致 System.Runtime.InteropServices.COMException

问题描述 投票:0回答:1

我正在尝试使用我多年前在 VB6 中构建的名为 CP4DLL 的 ActiveX DLL 在 VS 2022 中构建 VB.NET Windows 窗体应用程序。

我在项目中包含了对 DLL 的引用,并且代码可以识别 DLL 中的对象、方法和属性,但是当我运行 VB.NET 代码时,它会生成以下消息:

“System.Runtime.InteropServices.COMException:'创建一个实例 具有 CLSID {

59CA4977-912A-47C6-BAB7-D1B26C0D6ACC
} 的 COM 组件 由于以下错误,从 IClassFactory 失败:
800a0beb
0x800A0BEB
。'”

我有一个 VB6 .EXE 应用程序,它使用该 DLL,当我将其安装到我的计算机上时,它运行良好。

我还需要在 VB.NET 项目中添加什么来解决这个问题?

vb.net vb6 visual-studio-2022
1个回答
0
投票

我认为你的问题不能用这种方法解决。 Visual Studio 2022 不再与使用 VB6 编译的 32 位 DLL 兼容。 我遇到了同样的问题,我所能做的就是包装器通过 WebApi 公开功能。 另一方面,您仍然可以将 Visual Studio 2019 与旧版 32 位 DLL 结合使用。 我还有一台安装了 Windows 7 的虚拟机,以便运行 Visual Basic 6 来编译 32 位 DLL。 希望这对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.