我正在使用 Visual Studio 2005 构建一个 DLL。通过在文本编辑器中打开 DLL,我可以看到它引用了多个 MS CRT,如下所示。如何找到依赖元素引用的 DLL 的名称?我正在尝试专门查找链接到 8.0.50727.5592 版本的 CTR 的依赖项的来源,它是最后一个。
有任何想法吗?
我正在使用 Visual Studio 2005 构建一个 DLL。通过在文本编辑器中打开 DLL,我可以看到它引用了多个 MS CRT,如下所示。如何找到依赖元素引用的 DLL 的名称?我正在尝试专门查找链接到 8.0.50727.5592 版本的 CTR 的依赖项的来源,它是最后一个。
有任何想法吗?
最有可能的是,您将自动注入依赖项,因为您正在链接使用您正在使用的不同版本的运行时的第 3 方库。检查您的 dll 链接所针对的库,并且很可能其中一个将具有您在那里的确切额外依赖项。顺便说一句,您可以使用VS2005打开一个dll并查看其嵌入的清单。
我知道这是一篇旧帖子,但我遇到了同样的问题,并找到了一个很棒的工具来列出任何包含的库的所有依赖项。我使用 VS 2010:
在命令提示符下,转到 Microsoft Visual Studio 10.0\VC\bin 并运行命令:
link /dump /directives libpathandname.lib 这将列出所有链接器依赖项,包括确切的 CRT 版本。
我不确定它是否会确切地告诉您在这种情况下您需要什么,但Dependency Walker可能会对此有所了解。它将显示哪些依赖 dll 依赖于 CRT,并且它可能会显示清单中的版本,尽管我不确定。