1

The rules of software versioning recommend incrementing the MAJOR VERSION when there are breaking changes to the public API.

I have tried using Class View in Visual Studio and applications like dotPeek, but I have so far been unable to find a way to export a list of all public members of an assembly to either plain text or XML. Does anyone know a good way to do this?

devlord
  • 4,054
  • 4
  • 37
  • 55
  • I can write a query you could use with the Reflector desktop application to do that. How would you like the output formatted? Do you just want a listing of everything by alpha order in one list? – Jason Haley Oct 12 '13 at 12:26

1 Answers1

3

I created a NuGet package to do this. http://www.nuget.org/packages/ApiApprover/

Basically it generates your public API as a big string, then passes it to approval tests to verify.

Approval Tests works by failing the test if the received and the approved text differs. If it differs, it can pop up a merge tool so you can review the changed, and accept them. Approval tests seemed like a perfect solution to this problem, I just wrapped the public API generation around it.

Jake Ginnivan
  • 2,112
  • 16
  • 20