繁体   English   中英

将VB6 ActiveX DLL引用添加到VS2008项目

[英]Add a VB6 ActiveX DLL reference to a VS2008 project

在工作中,我们有一个VB6项目(ActiveX DLL),我们需要能够添加它作为另一个VS2008 C#项目的参考。

那里的开发人员告诉我,在过去,他们已经能够这样做,但现在我们对VB6 DLL进行了更改,并且必须重新编译它。

因此,我们需要更新VS2008项目中的引用,但是当我们尝试将对VB6 DLL的引用(在删除旧引用之后)添加到VS2008项目时,我们得到一个黄色的“!” 在新添加的引用上的图标,然后在我们构建时,VS2008表示无法找到引用。

我尝试了“浏览”和“COM”选项卡,您可以在其中添加引用,没有运气。

我们是否需要某种TLB才能添加它?

谢谢。

您需要从命令提示符执行以下操作:

#CD to wherever the dll is located
regsrv32 /u foo.dll
regsrv32 foo.dll

这将取消注册旧的com对象并注册新的com对象。

他是对的,你可以从命令提示符那样做。

但请记住,您的Active-X控件DLL可能是16位,因此请使用

    regsrv /u foo.dll
    regsrv foo.dll

从命令提示符。 但32位适用于regsrv32!

我使用了OLE / COM对象查看器(包含在Windows SDK 6.0A中)然后我在“所有对象”中看到了一堆COM条目,即:MyDLLName.className和一些指向不再存在的DLL文件。 删除了Windows注册表中指向已删除的DLL的所有相关COM条目,并将所有指向现有DLL的条目留下,然后我可以在VC#项目中成功导入它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM