Framework Design Studio Released

When I was coming back from Mix 2007, I was bored on the plane and so started to write a dev tool. What a geeky thing to do on a plane. 🙂

The tool allows comparing two versions of an assembly to identify API differences: API additions and removals. Comparing versions of APIs comes very handy during API design process. Often you want to ensure that things did not get removed accidentally (which can cause incompatibilities), and as APIs grow, you want to review the addition without having to re-review APIs that were already reviewed. The tool, called Framework Design Studio (FDS) supports these scenarios.

Later on, I got lots of help from Hongping Lim (a developer on our team), and David Fowler (our 2007 summer intern). David ported the application to WPF, and Hongping basically took it from an early prototype stage to what it is today and made it possible to ship it externally.

Anyway, you can get the tool at the MSDN Code Gallery, the user guide is attached to this post, and lastly, here is the API diff output that the tool generates. Hope you find it useful.



Comments (21)

  1. Greg D says:

    Does the tool support viewing the public and protected interfaces independently?  Do you think that would make sense as a feature?

  2. Greg,

    We don’t support it today. But it’s on the TODO list. Thanks!

  3. This is absolutely brilliant and probably the tool I have been waiting for for quite some time.  I’ve browsed the code a little and I’ve seen that it wasn’t entirely written on that plane.  Not unless you chased  Phileas Fogg on it. 🙂  

    Thanks also for adding the command-line parameters to the tool.  The studio is nice for specific quest but the command-line is nice for automating things.

    Two questions :

    1) When comparing directories do you also consider the reference tree of a component (because a method moving to a base class in another assembly is also "compatible") ?

    2) Is there any chance this makes it into Visual Studio one day ?

  4. David Fowler says:

    Nice to see the project got released!

  5. One of my co-workers, Krzysztof Cwalina has been working on a tool that makes detecting the changes between

  6. De pequeñito quería ser como Krzysztof Cwalina ,… bueno, igual exagero un poco, pero es que el bueno

  7. If you are building and evolving APIs, Framework Design Studio is a tool you should check out. 

  8. Bart says:

    Nice tool but how do merge the comments back to you code?

  9. I like this tool and the timing couldn’t be better.  My group is just about to start our API review and this tool will help tremendously.  One question I couldn’t find an answer for in any of the documentation, what does it mean when an API element is shaded in gray?

  10. The gray elements mean they are inherited, and so the API design decision has been made during the design of the base class or an interface, not "this" type.

  11. The tool space for software architecture has been growing. There are new tools and continuous improvement

  12. The tool space for software architecture has been growing. There are new tools and continuous improvement

  13. O espaço das ferramentas para arquitectura de software em vindo a crescer. Têm vindo a aparecer novas

  14. ASPInsiders says:

    The Beta of .NET 3.5 and VS2008 SP1 is out . I’m sure everyone is blogging the heck out of it, so I’ll

  15. This summer we had a high school intern, Nick Moloney, who worked on incorporating MEF into FDS . The

  16. NotInventedHereSyndrome says:

    You know, you could have contributed to NDepend instead of reinventing the wheel again…