Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 在VB6项目中使用类型库(.tlb),ActiveX创建对象失败_Visual Studio 2008_Vb6_Regasm - Fatal编程技术网

Visual studio 2008 在VB6项目中使用类型库(.tlb),ActiveX创建对象失败

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。是的,我认为您需要在安装过程中执行此操作。是

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

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)

我会考虑使用安装程序,因为这可以完成一些注册/取消注册和自动安装框架的繁重工作。