是否有可能看到.DLL在哪里搜索文件?

时间:2017-06-06 08:07:40

标签: c# dll resources

我找到了#34;找不到文件。"来自我正在使用的.DLL的消息,但我不确定它试图找到该文件的路径。它可能也是硬编码的,我想知道。

我可以使用任何方法或工具吗?

提前谢谢

3 个答案:

答案 0 :(得分:3)

Process Monitor将为您提供开箱即用的功能。下载,解压缩并运行exe文件。它应该立即显示哪些进程正在尝试访问哪些文件。

要应用过滤器,请按Ctrl + L(或单击顶部菜单中的“过滤器”图标)。然后选择“Process Name is xxx”,其中xxx是您的流程名称。然后单击“添加”,然后单击“确定”。这将过滤到您的流程。

您也可以使用查找(Ctrl + F)查找内容。

另一个提示,点击Ctrl + E停止并开始捕获。

答案 1 :(得分:2)

尝试使用Process Explorer。从页面:

  

有没有想过哪个程序有特定的文件或目录打开?   现在你可以找到。 Process Explorer显示有关的信息   处理和DLL进程已打开或加载。

如果点击Ctrl + D(显示DLL视图 - 也可以从“查看”菜单中完成)然后选择您的进程,它将显示该进程加载的所有DLL及其位置。

您也可以在Software Recommendations中获得有用的答案。

答案 2 :(得分:1)

请参阅此处https://blogs.msdn.microsoft.com/suzcook/2003/05/29/debugging-assembly-loading-failures/

在GAC中安装DLL可能是个问题。

像Reshaper这样的工具可以在这些情况下提供更多信息,您也可以尝试http://www.dependencywalker.com/