我有一个 DLL 列表,我想知道这些文件使用的所有其他 DLL 的版本。在 UNIX 中这非常简单:
ldd *.dll
但在 Windows 中这不起作用(我尝试使用我的 Ubuntu WSL)。
有人知道这个的命令行命令吗? (Powershell 也不错)
dumpbin.exe /imports
将列出直接静态加载依赖项,但不会尝试解析它们(这意味着没有版本号或传递依赖项)
depends.exe
将解决依赖关系(如果您在“分析器”模式下运行,则包括动态加载依赖关系,该模式支持各种不同的方法来挂钩 LoadLibrary(Ex)
和 GetProcAddress
),但不是命令行工具。对于每个依赖项,它列出了路径和版本号,以及许多其他信息,例如链接日期和所需的操作系统版本 - 您应该能够将此列表保存到文件中以供命令行处理。
这些都不包含在操作系统发行版中,您需要 Windows SDK 工具包。