我创建了vb.net类库。它是存储设备的接口。它提供了一些对象和方法来读取和写入数据到设备。将vb.net类库导入到vb6项目
问题是客户有一个vb6应用程序,我们想添加类库的功能来操纵设备。我已经将类更改为com类,选中了com interopt复选框并使用.net framework 2.0 regasm.exe注册了该库。
我添加了库作为对空白vb6项目的引用并创建了一个对象。
dim t as comlib.obj
对象等于 '无'
时,我说:
t = new comlib.obj
或
t = createobject("comlib.obj")
我得到了以下错误:
run-time error '2147024894 (80070002)': Automation
我做错了什么?
请阅读下一次如何格式化帖子和应用它的帮助。绝对不需要使用'
'标签。 – 2011-12-19 14:36:06
这是一个常见的Windows错误,“文件未找到”。由于您在使用Regasm.exe时忘记使用/ codebase选项而产生的可能性很高。如果您不知道可能会丢失什么文件,则可以使用SysInternals的Procmon实用程序。 – 2011-12-19 15:53:16
另一种可能性是,COM包装可能没有用x86或x64构建或注册。过去,我已经遇到了一个古老的传统ASP应用程序的问题。它以x86模式运行,这需要我使用x86构建包装器,并使用x86版本的regasm.exe进行注册。从那以后,我习惯于为x86和x64提供安装程序/构建,并且消费者可以选择哪个更合适。 – killthrush 2013-07-08 20:39:35