[英]When c# project add a reference to a c++/clr project, vs2008 seems doesn't copy the latest dll
[英]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.