我有一个服务器与许多可执行文件(.exe,.dll),但是这个文件用来链接到另一个可执行文件…等等。 为了防止部署错误,我需要一种方法来search每个依赖和它的依赖,并检查任何平台不兼容(32位或64位)。
我没有任何问题来检测二进制文件的平台,但我不知道如何得到一个依赖列表。
任何build议?
查看http://www.dependencywalker.com/ – 这是查看模块依赖关系层次结构的最佳工具。
这个问题似乎在这里经常被问到。 我建议不要按照您的建议逆向工程。 问题是在不同的平台上依赖关系可能会有所不同。 如果你能的话,你应该从源头上解决。 这并不像乍看起来那么难。
对于托管代码,您可以使用Reflection来遍历所有托管的依赖项,并且指出的Dependency Walker应该可以帮助本机。 当您开始考虑其他类型的不容易检查的依赖项时,会出现问题:注册表项,COM,配置文件/设置。
您最好的选择是开发一套验证测试,以部署到您的服务器或建立一些阶段,然后推到一个活的服务器。 这将有助于捕捉部署错误以及可能通过初始测试滑入的其他一些功能缺陷。