通过命令行编译VB6 COM DLL每次都会获得不同的CLSID

通过命令行编译VB6 COM DLL每次都会获得不同的CLSID,com,vb6,clsid,Com,Vb6,Clsid,让dllproject.vbp成为DLL VB6项目 每次我编译这行代码时: VB6.EXE /MAKE dllproject.vbp /outdir somedir 编译器使用另一个CLSID生成dll。为什么? (编辑) 总之,必须激活二进制兼容性。例如,一个好方法是保留dll的副本(重命名为.cmp),并引用此副本以实现版本兼容性(Project->[Project name]属性…) 简而言之,必须激活二进制兼容性。一个好方法是保留一个dll副本(重命名为.cmp),并参考此副本以实

dllproject.vbp
成为DLL VB6项目

每次我编译这行代码时:

VB6.EXE /MAKE dllproject.vbp  /outdir somedir
编译器使用另一个CLSID生成dll。为什么?

(编辑)

总之,必须激活二进制兼容性。例如,一个好方法是保留dll的副本(重命名为.cmp),并引用此副本以实现版本兼容性(Project->[Project name]属性…


简而言之,必须激活二进制兼容性。一个好方法是保留一个dll副本(重命名为.cmp),并参考此副本以实现版本兼容性(Project->[Project name]属性…

如果要对组件进行任何更改,您也需要阅读。谢谢。事实上,我对二进制兼容性有问题(忘记了原因),并将其禁用。由于我以前以交互方式编译,我没有注意到这样的更改,因为DLL编译和发布是手动完成的…现在它已编写脚本,因此问题变得更加明显。如果您正在对组件进行任何更改,您还需要阅读。谢谢。事实上,我在二进制兼容性方面遇到了问题(忘记了原因),并将其禁用。因为我以前以交互方式编译,所以我没有注意到这样的更改,因为DLL编译和发布是手动完成的…现在它已编写脚本,所以问题变得更加明显。