views:

37

answers:

0

I am working on an SDK. As I release new versions I would like to produce a report of the differences in the API. This is not the differences in the code. Most of the code is not expected to be used directly. The public classes/methods is what I am interested in. Furthermore, we have adopted the convention that anything in a namespace that includes Implementation should not be used by a client of the SDK. So I am looking for the differences in the public interfaces, classes and methods that are not in a namespace that includes Implementation. I want to know what has been removed, added and modified between two releases. I found a tool from Microsoft called LibCheck that is in the right ballpark. I have a couple of issues with LibCheck. LibCheck does not recognize a method that has been modified. It reports the method as having been removed and added. It sometime reports a method as having been removed and added, but the name and parameters are all the same. I do not know what it is attempting to tell me in these cases. Finally I do not care for the layout of the reports. I would like a break down by namespace as well as by assembly and class. I am aware that the reports are the result of an XSLT transform and I could make them look essentially anyway I want. Still the other issues coupled with a general lack of support for the tool from Microsoft leave me looking for an alternative.

Any suggestions?

Pat O