【问题标题】:Use Type Library (.tlb) in a VB6 project, ActiveX create object fail在 VB6 项目中使用类型库 (.tlb),ActiveX 创建对象失败
【发布时间】:2011-08-11 16:49:31
【问题描述】:

我从 C# Visual Studio 2008 创建了一个 dll 和 tbl 文件。

Regasm AssemblyName.dll /tlb: FileName.tlb /codebase 将其注册到我的本地服务器。

使用 tlb 引用。编译它,它在我的开发PC上运行良好。

我制作exe后,在其他电脑上运行,提示“ActiveX无法创建对象”的错误信息。

我需要为我部署到的每台机器进行 Regasm 吗?

如果部署 PC 中没有 Visual Studio 怎么办?找不到 Regasm。

【问题讨论】:

    标签: visual-studio-2008 vb6 regasm


    【解决方案1】:

    是的,您需要在安装过程中执行此操作。但这只是其中的一部分。您还必须使用属性标记所有公共方法,以确保重新编译不会意外以错误的顺序编译方法。见this

    【讨论】:

      【解决方案2】:

      是的,我认为您需要在安装过程中执行此操作。

      【讨论】:

        【解决方案3】:

        是的,您需要在每台客户端计算机上运行 RegAsm。如果您的组件发生变化,您将需要运行RegAsm ... /unregister,将您的组件替换为新组件并再次运行RegAsm

        为了让您的 C# DLL 工作,您还需要在机器上安装相关框架(在您的情况下为 .NET Framework 3.5)

        我会考虑使用安装程序,因为它可以完成一些繁重的注册/注销工作,并在需要时自动安装框架。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-01
          • 1970-01-01
          • 2023-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-26
          相关资源
          最近更新 更多