28 September 2006

LibCheck: Highlight Public API Differences Between Assembly Revisions

LibCheck is an assembly comparison tool that:

"... allows you to compare two versions of an assembly, and determine the differences. The tool reports the differences as a combination of 'removed' and 'added' APIs."

The comparison results present:
  • "removed" items: the original member has been either removed or modified;
  • "added" items: member has been added to the new version, or is a modified form of an original member;
  • breaking changes highlighted in red.
The following example compares two versions of an assembly.

Generating Metadata for Comparison

libcheck.exe -store AssemblyName FolderNameToStoreResults -full FolderContainingAssembly

For example:

  libcheck.exe -store HelloWorld.dll 1.0.0.0 -full C:\HelloWorldV1\

  libcheck.exe -store HelloWorld.dll 2.0.0.0 -full C:\HelloWorldV2\

Performing the Comparison

  libcheck.exe -compare FolderContainingFirstStoreResults FolderContainingSecondStoreResults

For example:

  libcheck.exe -compare 1.0.0.0 2.0.0.0

Here is an example comparison report.
Filed under: ,
 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Steffen said:

Hi,

I've just tried libcheck with a new C# library project made in VS2005.

It does not work. It always says assembly.dll is not a managed assembly.

I've tried it with different assemblys of mine. However with the libcheck assemblys itself it works. What am I doing wrong?

18 September 08 at 4:41 AM
# matt said:

Hi Steffen,

Theres a revamped version of LibCheck available called Framework Design Studio which includes a GUI as well as command-line tools, I'd recommend trying this out instead:

http://code.msdn.microsoft.com/fds

Cheers,

Matt

18 September 08 at 8:57 PM

Leave a Comment

Comment Policy: No HTML allowed. URIs and line breaks are converted automatically. Your e–mail address will not show up on any public page.

(required) 
(optional)
(required) 
(required)
captcha Image