【发布时间】:2015-03-13 03:25:17
【问题描述】:
我按照这个http://support.microsoft.com/kb/817248 教程为我的vb6 项目制作了一个.NET COM 类,以便能够访问。我通过引用添加了它,但它添加的是 testproj.tlb 文件而不是 testproj.dll。它在我的开发机器上运行良好。
但是,我使用了已编译的 .exe 并通过 vs6 工具对其进行了设置。包括它的参考。包括我的testproj.tlb 安装到宿主机上得到错误Run Time error '429' ActiveX component can't create object
安装程序不应该包含在目标计算机上运行所需的参考吗? .exe 是一个非常简单的文件,因此唯一声明的对象是 COM 类。如何让我的 COM 类在目标机器上工作?
【问题讨论】:
-
您的组件未正确注册。这并不神秘,“VS6 工具”无法正确执行此操作,因为它知道有关 Regasm.exe 的 bean 或需要注册 .NET 程序集的方式。
-
谢谢,是的,我将安装程序放在 .net 安装项目中并添加了依赖项,它现在可以工作了。但是,当我添加 .tlb 并添加 .dll 时,.dll 需要确保在 register 属性中将其更改为 vsdrfCOM。谢谢!