之前曾经用过VS2005做DLL文件,然后使用VB调用,非常顺畅,无须任何设置就可以调用到,但是现在使用了VS2013之后就发现了问题,VB调用C#做的dll就是不行,不是报自动化错误,就是报没有DLL入口,经过一天的折腾,笨点,没辙,终于测试通过了:
1、VS2013做的C#组件,需要注意的是:
(1)VS2013要用管理员角色执行,否则后面用到COM交互选项的时候会报错
(2)项目属性选中“为COM互操作注册”,如下图:
(3)编译完成后即可,只是用DLL文件,需要拷贝自动生成的对应的tlb文件。此处要注意,我是一直没有注意这个问题。
2、VB的调用:
(1)将.net的dll拷贝到要用的目录,然后使用命令重新生成对应的tlb文件。
(2)一定要注意上图的命令,不能错,尤其是 \ / 的用法,我在这里吃了亏。
(3)然后在VB的工程中引入这个tlb,就可以直接在程序中调用了。