2011-08-11 19 views
2

我创造了从C#Visual Studio中的DLL和TBL文件2008使用类型库(.tlb)在VB6项目的ActiveX创建对象失败

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

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

我做了一个exe后,在其他电脑上运行它,会提示错误信息“ActiveX无法创建对象”。

我需要为我部署的每台机器注册Regasm吗?

如果部署PC中没有Visual Studio,该怎么办?没有Regasm可以被找到。

回答

1

是的,您需要将其作为安装的一部分。但这只是其中的一部分。您还必须使用属性标记所有公共方法,以确保重新编译不会以错误的顺序意外编译这些方法。请参阅this

0

是的,我认为你需要这样做,作为你的安装的一部分。

0

是的,您需要在每台客户机上运行RegAsm。如果您的组件发生变化,您需要运行RegAsm ... /unregister,用新组件更换组件,然后再次运行RegAsm

为了使您的C#DLL工作,你将需要安装在机器上,以及(在你的案件的.NET Framework 3.5)相关框架

我会考虑使用一个安装程序,因为这可以做一些繁重的注册/取消注册工作,并在需要时自动安装框架。

相关问题