Basically, what I need is something like Dependecy Walker, but it should work with .NET applications. Is there anywhere such tool?
8 Answers
For .NET 4, check our CheckAsm: http://www.amberfish.net/

- 178,213
- 47
- 333
- 501

- 1,335
- 4
- 14
- 24
-
After dependency walker failed to help me (does not show any .net assemblies referenced by the target library), I searched for a specific .net dependency app and this did the trick. Easy to read and will discover and alert if there are circular dependencies. – Despertar Apr 28 '12 at 19:05
-
Works as advertised. Only shows managed dependencies (is it even possible to automatically show unmanaged dependencies of a managed app?) Free version only shows hierarchy, not graphs. (Make sure to hit Decline during free version install to avoid getting add-on wares.) – yoyo Oct 28 '13 at 23:38
-
2I don't know if this changed recently but the unpaid installer installs unwanted crapware like a "registry cleaner" and "search protect" I would avoid installing this program! – Dieter DHoker Mar 07 '14 at 14:42
I prefer ILSpy. It's an open-source .NET assembly browser and decompiler. And yes, it shows dependencies.
Decent replacement for Reflector which is not free anymore.

- 8,168
- 8
- 71
- 87
NDepend is the .NET tool specialized in dependencies management and visualization. The tool proposes both a dependency graph and a dependency matrix. A free trial of the tool is available here. Here are 2 screenshots of the dependency graph followed by the dependency matrix:

- 13,237
- 6
- 61
- 92
During runtime Systernals' ProcessExplorer might be helpful to see an assemblys dependencies.
Also NDepend can show you the dependencies and how tightly your components are coupled.

- 5,328
- 3
- 34
- 51
ildasm.exe
works for this purpose as well.
This tool is automatically installed with Visual Studio. To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7).
ildasm.exe
lists a tree of namespaces, types, methods, etc. on loading an assembly.
And you can view all dependencies of the assembly by double clicking MANIFEST, and searching for lines starting with .assembly extern
.
ildasm.exe
comes with Visual Studio or .NET SDK installations, so chances are you've got it on your computer.

- 1,057
- 14
- 14
Reflector is not free and the other one is not free either, just a trial. I had the same problem and found this EXCELLENT tool:
http://www.codeproject.com/Articles/246858/Depends4Net-Part-1

- 3,579
- 5
- 41
- 62
Dependency Walker will work with .Net too.
the .Net layer still needs to call down to the core Windows functions like LoadLibrary and GetProcAddress to do the actual work. It is at this core level that Dependency Walker understands what is going on. So, while Dependency Walker may not understand all the language specific complexities of your application, it will still be able to track all module activity at a core Windows API level.

- 339,232
- 124
- 596
- 636
-
5I think this is not correct. It will detect the dependencies to native assemblies, yes, but it will not detect/see dependencies to .NET assemblies. For example, it will show a dependency to, say, kernel32.dll, but it won't show dependencies to, say, System.ServiceModel.dll. Can you elaborate? – Christian.K Oct 15 '08 at 09:01