二进制兼容性 DLL 或 EXE 包含无法找到其定义的参数类型或返回类

如果您有一个二进制兼容服务器,它包含的参数或返回类型包含在另一个 DLL 中,则在重新编译时必须小心。 此警告的原因和解决方案如下:

  • 当您对项目设置二进制兼容性然后重新编译该项目时,将会自动设置项目兼容性并更改接口的内部 GUID。 由于这是不可见的更改,因此可能会导致意外错误。 基本上来说,当项目的二进制兼容 DLL 或 EXE 的类型库具有损坏的引用时,将会发生此错误。 在以下情况下,将会出现损坏的引用:被引用的类型库被其他文件(如重新编译的 DLL/EXE)覆盖,您删除类型库文件,或者您将引用类型库移到某台计算机上但没有移动或注册被引用的类型库。 一个可能的解决方法是将被引用的类型库的副本放置到计算机上并注册它。 将无法使用旧类型库,因为在重新编译时它已被覆盖。 如果不这么做,那么能做的就只能是不再继续将 DLL/EXE 用作您的二进制兼容版本了。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。