VB6调用VB.net dll问题

时间:2022-06-01 14:03:09
用vs2010中vb写了一个dll其中只有一个public的类,默认目标版本是.net4.0
在微软网站找到怎样在vb6中使用此类dll,于是用 regram生成tlb并注册,在vb6中实验,可以在reference中加入这个tlb但之后无法使用,说是没有define

然后在vs2010里把项目目标版本改成.net2.0,重新编译,测试机上重新生成tlb注册,这次可以运行了,但是非常奇怪,
dll中的类被引用成 dllname_classname的形式,也就是说为了创建这个类我不是new dllname.classname 而是 new dllname_classname才行,而且类里面定义的public的property autocomplete和object explorer全都看不到,但是运行时可以访问,编译也不会出错

刚刚接触vb和.net,求大家帮忙

4 个解决方案

#1


该回复于2010-12-17 09:01:39被版主删除

#3


顶楼上的。。。

楼主,从你的描述来看,是应该是你的测试机上没有相应的.net framework环境,肯定是你引用了测试机上不存在的组件造成的。。。此时你应该将dll做成com组件来供vb6引用的。vs2010直接做的dll是不能够直接被vb6引用的。

#4


该回复于2010-12-20 14:25:46被版主删除

#1


该回复于2010-12-17 09:01:39被版主删除

#2


#3


顶楼上的。。。

楼主,从你的描述来看,是应该是你的测试机上没有相应的.net framework环境,肯定是你引用了测试机上不存在的组件造成的。。。此时你应该将dll做成com组件来供vb6引用的。vs2010直接做的dll是不能够直接被vb6引用的。

#4


该回复于2010-12-20 14:25:46被版主删除