Is there a good tool that will look at a .NET assembly and tell you all of the dependencies it has on other assemblies? Sort of like the old depends.exe from VS6 days.
NDepend
But I think it is not free.
EDIT: Reflector Open the assembly. Right click -> Analyze. It will show which assemblies, the current assembly depends upon.
If you want a tool that comes with the Microsoft SDK (rather than third party) use ildasm.exe
, the .NET assembly disassembler. While it won't show code in anything but IL, it will show metadata, names and assembly dependencies.
DependencyWalker for .NET shows dependencies tree for .NET assemblies like old Dependency Walker show it for non managed applications. To quickly start to use it, get latest DependencyWalker.zip and unzip it somewhere. (The link is to the latest version at the time of writing).
This works with .NET Framework dependencies (here is an example for a simple WPF .NET app):
There is also a list of references:
However, for .NET Core applications, I can see the list of some - but not all - dependencies YMMV...:
The best equivalent of depends.exe for .NET, i.e. a tool that shows what assemblies are loaded at runtime (as opposed to Reflector's static(?) analysis) is the MS Assembly Binding Log Viewer (or fuslogvw among friends :)
It logs all assembly loading infomation - including dinamically loaded assemblies.
(source: microsoft.com)
The FusionLog utilities should help you track down what assemblies are being looked for and where it was searching for and finding them, or not. It will also tell you the version being searched for. (And it comes as part of the .NET SDK)
Reflector has some addins that should help with this.