tags:

views:

229

answers:

2

Is there a tool that can list the exact versions and public keys of all assemblies referenced in another assembly?

I inherited a solution that contains a medium number of projects each referencing various external assemblies. The test project cannot execute because libraries referenced by it have references to different versions of the same assembly. I need to track down who's referencing what so I can fix it.

Some of the references are in the projects, some are in the external libraries.

Update: To clarify, I'd prefer a command line tool so I can automate this hunt.

+6  A: 
Fredrik Mörk
Thanks. I should clarify that I am looking for a command line tool. I want to automate this because I have to look at 30 or projects with many DLL references.
Thomas Jung
+4  A: 

You can use the Fusion Log Viewer to determine exactly what is failing to load as opposed to manually walking dependencies in Reflector or ILDasm.

http://msdn.microsoft.com/en-us/library/e74a18c4(vs.71).aspx

Adam Sills
I'd love to check both answers as "correct", but this tool came closer to what I was looking for because I was able to see ALL the assemblies being loaded and the order in which they were loaded, including details on why a load failed. I had to manually registere all the different versions of the MySql.Data.dll in the GAC for the version of the framework I am using (they were all registered for 2.0 but not 3.5).
Thomas Jung