如何以编程方式查找可执行引用

时间:2010-12-16 19:50:36

标签: windows operating-system

我有一个包含许多可执行文件(.exe,.dll)的服务器,但这些文件也用于链接到另一个可执行文件......等等。 为了防止部署错误,我需要一种方法来搜索每个依赖项及其依赖项,并检查是否存在任何平台不兼容性(32位或64位)。

检测二进制文件的平台没有问题,但我不知道如何获取依赖项列表。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

签出http://www.dependencywalker.com/ - 这是查看模块依赖关系层次结构的最佳工具。

答案 1 :(得分:1)

这个问题好像在这里经常被问到。我建议您不建议对依赖项进行逆向工程。问题是在不同平台上依赖关系可能不同。如果可以的话,你应该从源头上解决这个问题。这并不像乍看之下那么难。

答案 2 :(得分:0)

对于托管代码,您可以使用Reflection来遍历所有托管依赖项,而tenfour指出的Dependency Walker应该帮助本机。当您开始考虑其他类型的不易检查的依赖项时会出现问题:注册表项,COM,配置文件/设置。

您最好的选择是开发一组验收测试,以便在推送到实时服务器之前部署到您的服务器或设置一些分段。这将有助于捕获部署错误以及可能在初始测试中滑落的许多其他功能缺陷。