libcheck – quick and dirty assembly compatibility debugging

Today I wrote a little command-line tool for helping track down .NET assembly compatibility issues:

System.IO.FileLoadException: Could not load file or assembly {0} or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

My team encounters these problems very regularly — we have a build/dependency tree that easily rivals Castle Project in complexity, and it gets out of sync easily while waiting for downstream projects to build. Normally, your only option in this situation is to fire up reflector and poke through all your references manually — a very tedious process.

So, to use this tool, you point it at a directory (e.g. your lib folder) and provide a list of patterns for assemblies you want to check:

libcheck.exe C:\dev\yourapp\lib *NCover*

Then it’ll tell you any that are broken.

Grab it here: libcheck.exe

Update (April 2011): libcheck is on github! Grab the latest version here.

2 thoughts on “libcheck – quick and dirty assembly compatibility debugging

  1. This is going to be a timesaver when one of the many open-source projects we use has decided to link to a newer version of one of the many open-source projects *it* uses. :)

  2. A wonderful idea and a great little tool.

    Would have been really useful about a fortnight ago when I spent most of a day troubleshooting exactly this issue.


Comments are closed.