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.

May 6, 2010

2 Comments

Roy on May 7, 2010 at 8:50 am.

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. :)

Bevan Arps on April 28, 2011 at 8:09 pm.

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.

Thanks.

Leave Your Comment

Your email will not be published or shared. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>