.NET DLL引用/依赖性检查实用程序

pro*_*eek 25 .net dependencies utilities visual-studio

使用Visual Studio,我可以看到dll引用作为附加图片作为示例.有了这个参考信息,我可以打开(从示例中)Composition项目,找到所有其他引用,以获取所有引用文件名.

是否有任何实用程序可以自动执行此任务?我的意思是,给定一个.NET程序集,它会递归检查所有引用/依赖项,以给出DLL的名称.

我检查了cygwin的ldd和Depends.exe,但它们似乎没有显示其他项目的dll,而只显示系统dll.

在此输入图像描述

com*_*ech 27

是的:ildasm.exe.它随SDK一起安装.

应该在如下路径:C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin

  • 如果双击Manifest,它会显示.net引用的程序集:.assembly extern System.Drawing {.publickeytoken =(B0 3F 5F 7F 11 D5 0A 3A)//.?_.:.4 :0:0:0} .assembly extern System.Data {.publickeytoken =(B7 7A 5C 56 19 34 E0 89)// .z\V.4 .. .ver 4:0:0:0} (7认同)

Ric*_*rds 13

我喜欢使用AsmSpy进行此类检查.有一个exe下载,然后我把它放到我的工具文件夹中,以方便访问. https://github.com/mikehadlow/AsmSpy

  • +1 AsmSpy可以生成(通过使用-dg键)*.dgml格式的输出文件,可以使用Visual Studio 2013或2015打开.在VS中打开时,**可以搜索**(Ctrl-F)找到感兴趣的dll(例如丢失的dll).按"I"选择所有依赖它的dll.然后R-单击图形/选择/反转选择,按键盘上的删除 - 你可以得到一个很好的可读图形的dll依赖于一个丢失的DLL.dotPeek和ILSpy(Reflector的继承人)都不能以可搜索的格式生成依赖列表. (4认同)

Gon*_*edo 5

您可以使用提供的ildasm.exe,或者如果您想要更强大的功能,则可以尝试:

反光板

更好的是,尝试免费的

dotPeek

问候,