我找到了#34;找不到文件。"来自我正在使用的.DLL的消息,但我不确定它试图找到该文件的路径。它可能也是硬编码的,我想知道。
我可以使用任何方法或工具吗?
提前谢谢
答案 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/