【问题标题】:VB6 dll compatibility?VB6 dll兼容性?
【发布时间】:2015-04-24 19:08:39
【问题描述】:

我已经大大编辑了一个 VB6 dll,当我尝试编译它时,我收到一条通知,通知我这个 dll 不再与旧版本兼容?我不确定如何继续,最初当​​我进行小的更改时,我编译新的 dll 没有问题。我尝试按照本指南解决我的问题:Resetting project compatibility in vb6 但是,当我在主应用程序中引用 dll 并尝试编译它时,出现以下错误:“加载 dll 时出错”

我真的很困惑我必须做什么才能让我的应用程序意识到实际上引用了 dll 并且我已经对其进行了更改。

下面是出现的内容:

http://i.stack.imgur.com/4w6lU.png

我们将不胜感激!谢谢

【问题讨论】:

    标签: dll vbscript vb6 binary-compatibility


    【解决方案1】:

    您需要阅读How To Use Project and Binary Compatibility 和其他相关的 MS 知识库文章,以及涵盖此主题的 VB6 手册的部分内容。

    在进一步操作之前执行此操作以避免在注册表中创建一堆孤立的条目。

    一旦你控制了二进制兼容性,事情就会变得更容易。但是此时您有点卡住了,必须进入您的客户项目并删除原始参考,然后添加一个新参考。

    【讨论】:

    • 感谢您的链接。我还是不太明白如何更新我的 dll ?如果它不再兼容,我不应该保持兼容性,因为许多其他 dll 也使用这个 dll 吗?
    • 保持二进制兼容性的唯一方法就是这样做。例如,这意味着您不能更改类成员签名(所有属性、方法和事件必须具有相同的参数和返回值)。您可以添加新成员,结果是一个新版本但二进制兼容的接口......通常。即使这样有时也会失败。请参阅 VB6 文档。
    • 请参阅 msdn.microsoft.com/en-us/library/aa241689(v=vs.60).aspxmsdn.microsoft.com/en-us/library/aa260637(v=vs.60).aspx 以及 MSDN Library CD 中包含的许多其他文章,这些 CD 随附 VB6 的所有合法副本。
    猜你喜欢
    • 2012-11-09
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多