这或多或少是一个学术问题,可以帮助我更好地理解这个过程......与其说是要求弄清楚如何绕过二进制兼容性,那么就不需要解释为什么我不应该尝试这个:)
假设我在 vb6 中创建并编译了一个没有公共成员的 dll。实际上,我认为它可能不允许您在没有至少一个的情况下进行编译,所以假设我们创建了一个公共方法,但它只是为了让 dll 能够编译而我们忽略它。
现在假设我将项目兼容性设置为这个 dll,并且在任何情况下我都不会更新这个 dll 或将兼容性更改为 dll 的更新版本。
在这种情况下,我认为 vb6 永远不会抛出那些破坏兼容性的错误消息,并且即使您确实破坏了兼容性,也会在每次编译时继续为 dll 使用相同的 UUID。
但是,我认为为您在该 dll 中创建的类生成的值每次都会改变。即使您在编译该 dll 时不会遇到兼容性问题,但您最终仍会遇到引用此 dll 的项目的兼容性问题。
那个听起来是对的吗?