现在遇到这样的问题:
在环境 E1 下 Build 出 A.dll 系统运行OK
一段时间后, 环境 E1 经过若干更新升级到 E1', 现在忽然发现 A.dll 无法加载了,出现类不支持自动化的错误.在 E1 环境重新使用原来的源代码,二进制兼容 A.dll 编译出 A'.dll 类不支持自动化的错误消失了.我想 在编译 A 之前日 和 之后, A.dll一定发生了变化,而且肯定是接口的变化,我如何发现这个变化呢?
我是想有什么办法,可以用程序的方法扫描 A.dll 的接口信息表,并将之保存下来,如果一旦发现必需经过重新编译才行的话,可以扫描 编译前后的接口信息表,检查哪一个接口发生了变化,就可以定位到问题所在了,不然一个系统,成千上万个 Dll , 简直就跟地狱一样,无法定位到底是哪一个 Dll 发生了真正的接口变更
请问:有读取 Dll 接口信息的程序或 API 吗?
在环境 E1 下 Build 出 A.dll 系统运行OK
一段时间后, 环境 E1 经过若干更新升级到 E1', 现在忽然发现 A.dll 无法加载了,出现类不支持自动化的错误.在 E1 环境重新使用原来的源代码,二进制兼容 A.dll 编译出 A'.dll 类不支持自动化的错误消失了.我想 在编译 A 之前日 和 之后, A.dll一定发生了变化,而且肯定是接口的变化,我如何发现这个变化呢?
我是想有什么办法,可以用程序的方法扫描 A.dll 的接口信息表,并将之保存下来,如果一旦发现必需经过重新编译才行的话,可以扫描 编译前后的接口信息表,检查哪一个接口发生了变化,就可以定位到问题所在了,不然一个系统,成千上万个 Dll , 简直就跟地狱一样,无法定位到底是哪一个 Dll 发生了真正的接口变更
请问:有读取 Dll 接口信息的程序或 API 吗?
像junki说的没见过,如果真是如此,那就难办了。
http://community.csdn.net/Expert/topic/4624/4624901.xml?temp=.2473108