我有一个VB6 exe项目,调用一个VB6 DLL。它们都是由我编写的。每次我对VB6 DLL做一些更改并编译后,我必须打开exe项目,重新选择已编译的DLL,然后才能运行/编译exe。如何自动化上述过程?我尝试编辑vbp文件,将相应的DLL行替换为已编译DLL的GUID,但没有成功(可能我得到了错误的GUID)。实际上,我在exe项目中有超过10个DLL,并且一些DLL甚至引用另一个DLL......因此,是否有任何脚本或方法可以自动化这个过程?谢谢。
使用项目兼容性而不是二进制兼容性。如果没有其他人使用您的DLL,则不一定需要二进制兼容性。
来自MSDN
何时应使用版本兼容性?
...
项目兼容性:每次编译组件时,类型库标识符都会保留,以便您的测试项目可以维护对组件项目的引用。所有上一个版本的类ID都将被保留;仅对与其早期版本不再二进制兼容的类更改接口ID。
(不确定原始MSDN页面是什么,但我在这里找到了它的副本。)
如果您想要检查编译后的 DLL,以查看文章所提到的所有这些 ID,可以运行 OLEView 并绑定到 DLL 的类型库。它将“反编译” DLL 的类型库,您可以在其中查看这些详细信息。如果您重新编译它,然后对比类型库文本,您将看到它如何发生变化。