Visual studio 2008 在VB6项目中使用类型库(.tlb),ActiveX创建对象失败
我从C#Visual Studio 2008创建了一个dll和tbl文件 我Visual studio 2008 在VB6项目中使用类型库(.tlb),ActiveX创建对象失败,visual-studio-2008,vb6,regasm,Visual Studio 2008,Vb6,Regasm,我从C#Visual Studio 2008创建了一个dll和tbl文件 我Regasm AssemblyName.dll/tlb:FileName.tlb/codebase将其注册到本地服务器 使用tlb参考。编译它,它在我的开发PC中运行良好 在我制作了一个exe后,在另一台PC上运行它,会提示错误消息“ActiveX无法创建对象” 我是否需要为部署到的每台计算机重新配置SM 如果部署PC中没有Visual Studio怎么办?找不到Regasm。是的,我认为您需要在安装过程中执行此操作。是
Regasm AssemblyName.dll/tlb:FileName.tlb/codebase
将其注册到本地服务器
使用tlb参考。编译它,它在我的开发PC中运行良好
在我制作了一个exe后,在另一台PC上运行它,会提示错误消息“ActiveX无法创建对象”
我是否需要为部署到的每台计算机重新配置SM
如果部署PC中没有Visual Studio怎么办?找不到Regasm。是的,我认为您需要在安装过程中执行此操作。是的,您需要在安装过程中执行此操作。但这只是其中的一部分。您还必须使用属性标记所有公共方法,以确保重新编译不会意外地以错误的顺序编译这些方法。请参见是,您需要在每台客户端计算机上运行
RegAsm
。如果组件发生更改,则需要运行RegAsm/注销
,用新组件替换您的组件,然后再次运行RegAsm
为了使C#DLL正常工作,您还需要在计算机上安装相关的框架(在您的例子中是.NET framework 3.5)
我会考虑使用安装程序,因为这可以完成一些注册/取消注册和自动安装框架的繁重工作。