关闭

VB.net开发的com手动注册的方法

标签: vb.netdllvb.net
3426人阅读 评论(5) 收藏 举报
分类:

我用vb.net 开发的com. 在本机调用没有问题。
但是我把dll放到另一个机器中,然后进行了注册
regasm aa.dll /tlb:aa.tlb
也成功了。
在vb中添加因用也没有问题。
在对象管理器中也能看到。
但是在程序中调用的时候出错。

代码:

dim a as new aa.my
msgbox a.msg

错误为:
实时错误 '-2147024894 (80070002) :
自动化错误

错误的发生在
msgbox a.msg  

感觉非常奇怪,因为我的组件没有强名称,所以,以为是目录的问题。便把调用程序和dll拷贝到同一个目录下,按照上面的方式注册,结果还是一样的不行。

最后发现,在注册的时候需要指定一个参数。CodeBase

代码如下:

regasm northsnow.dll /tlb:northsnow.tlb /codebase

放到vbs中的代码就是:

set ws=createobject("wscript.shell")
ws.run "regasm northsnow.dll /tlb:northsnow.tlb /codebase"

也就是说,如果要注册的.net程序集没有强名称,则在用regasm注册的时候须指定 CodeBase.

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:872492次
    • 积分:12446
    • 等级:
    • 排名:第1119名
    • 原创:332篇
    • 转载:65篇
    • 译文:0篇
    • 评论:343条
    文章分类
    最新评论