Have you ever had the need to compare interfaces of two versions of the same framework?
If you have, then ApiChange is a tool for you. It’s open source, powerful and easy to use 🙂
I gave it a spin comparing current trunk version 2.9.2 of Lucene.Net with the latest official release version 2.4.0.
I downloaded ApiChange and ran the following command in a command prompt:
ApiChange.exe -Diff -old C:Lucene.Net_2_4_0Lucene.Net.dll -new C:trunkLucene.Net.dll
The output lists all the differences, but here is a summary:
- 23 public types where removed
- 96 public types where added
- 158 public types where changed
Cool little tool with other features such as:
- Diff public types for breaking changes.
- Who uses a method?
- Who uses a type?
- Who uses implements an interface?
- Who references me?
- What format has the binary (32/64, Managed C++, Pure IL, Unmanaged)?
- Search for all event subscribers and unsubscribers.
It’s based on Mono Cecil – a free IL parser, and not reflection as I initial thought. Go check it out…