2013-10-17 41 views
2

是否有可用的工具在运行时列出所需的DLL?即使解决方案将构建,但在运行时可能会由于缺少DLL而失败。.NET DLL运行时依赖关系

感谢,

理查德

+1

是的,调试器。使用Debug + Windows + Modules查看测试程序时加载的所有内容。您应该启用非托管调试,以便您还可以看到本机DLL。 –

回答

0

Dependence Walker可能可以帮助你在这里!
但是,首先它只会显示隐式,转发和延迟加载依赖关系。
您需要对其进行概要分析以检查运行时间。
查看他们的文档了解更多详情。

4

对于正常的DLL(不是.NET DLL),您可以使用Dependency Walker这是由Microsoft制作的免费程序。它将分析可执行文件和DLL库,并告诉你哪些其他DLL依赖于它。

对于.NET DLL,您可以使用.NET Reflector。您只需将.NET DLL加载到反射器中,右键单击它并转到“分析”。您将在窗口中看到“取决于”项目,它会显示所有依赖关系。

但是,反射器不再免费。如果您没有它,并且您正在寻找免费解决方案,请使用JetBrains DotPeek。它几乎涉及Reflector所做的一切,包括依赖性检查。

最后,如果您需要开源解决方案,则可以使用ILSpy。 ILSpy也有列表依赖项。你可以查看ILSpy的源代码,看看它是如何完成的!

希望这可以帮到你!