这或多或少是一个学术界的问题,以帮助我更好地理解这一过程……这并不是要弄清楚如何解决二进制兼容性的问题,所以没有必要解释为什么我不应该这样做:)
假设我用vb6创建并编译了一个没有公共成员的动态链接库。实际上,我认为它可能不允许您在没有至少一个公共方法的情况下进行编译,所以假设我们创建了一个公共方法,但它只是为了让dll编译,否则我们会忽略它。
现在假设我设置了此dll的项目兼容性,并且在任何情况下我都不会更新此dll或将兼容性更改为dll的更新版本。
在这种情况下,我认为vb6永远不会抛出那些破坏兼容性的错误消息,并且会继续在每次编译时对dll使用相同的UUID,即使您确实破坏了兼容性。
但是,我认为为您在该dll中创建的类生成的值每次都会发生变化。而且,即使您在编译该dll时不会遇到兼容性问题,对于引用此dll的项目,您最终仍会遇到兼容性问题。
这听起来是对的吗?
发布于 2011-11-21 21:20:47
我认为你的逻辑是对的。尽管您可能只使用项目兼容性?
我不知道你为什么要这样做,但你确实说这是一个学术问题!
https://stackoverflow.com/questions/8190844
复制相似问题