你是否正在被“这个程序明明在我的电脑上可以跑,在你这里为什么就不行”、“这个dll明明在我那边可以被正确加载,在你这里为什么就不行”这种类似的问题所困扰。出现问题一般都是由于你写的程序或者dll所依赖的一些依赖项在别人的电脑上的系统环境路径中是没有的。

为了解决这个问题,最开始是用的Dependency Walker这个老掉牙的软件,这个软件在Windows 10分析依赖项极慢,并且有大概率崩溃。不过幸运的是,有开源软件可以做这个事情并且可以做的更好,这就是Dependencies

1 Dependencies

Github地址:https://github.com/lucasg/Dependencies

Dependencies的项目简介中这样写着:

A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.

这个项目是Dependency Walker的重构版本,用于解决动态库依赖问题。

我们只需要在项目Release中下载最新的版本,解压缩,然后点击解压缩文件夹下的DependenciesGui.exe运行软件,然后在软件的File - Open中打开你需要分析的exe或者dll文件,等待片刻之后就可以显示你的exe或者dll依赖了哪些dll,如果当前环境有依赖dll丢失就会以红色显示,非常的好用。

工具软件推荐 – 好用的查找exe、dll依赖项的开源软件Dependencies-StubbornHuang Blog