The Microsoft project CCI (Common Compiler Infrastructure) goes Open Source

Download it on CodePlex here.

CCI can read/write metadata contained inside .NET assemblies. My guess is that CCI got developed by Microsoft to get a better System.Reflection. Indeed, I explained previously in the post Mono.Cecil vs. System.Reflection that System.Reflection comes with numerous flaws.  Btw, CCI and Mono.Cecil are 2 framework with the exact same goal. Static analyzer like FxCop are based on CCI while NDepend is based on Mono.Cecil.

From my point of view the real revolution is that by releasing CCI OSS, Microsoft exposes openly the internal of PDB files, (the files used by the debugger to link code source and binary code). As far as I know PDB has been always a closed format (although several unmanaged PDB reader framework are available). And as explained here, PDB format doesn’t look like a simple flat file format. This is a very good news for all .NET developer tools ISV provider because PDB files contains invaluable information and we can now have our hands in it!

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • annapurna1

    the CCI on codeplex is garbage…it doesnt even begin to compile on VS2008.. it couldnt find a single type name or assembly reference in the whole project…plus all the assembly references are completely interdependent.. a feature not normally available on .net…this is obviously some kind of a scam…avoid it like the proverbial plague…

  • http://www.shanghai-software.comblog Ben

    But now Microsoft have released Phoenix ( with a Reseacrh only licence) which represents a superior compiler framework. …

  • http://www.NDepend.com Patrick Smacchia

    Steven, I know very well Cecil and love it but I never really played with CCI.

    So any feedback from someone who know both Fx is welcomed.

    It would be really cool to have some performance comparison, maybe I’ll reserve that for some future posts. (I know that Cecil perf are currently drastically improved)

  • http://www.cuttingedge.it/blogs/steven Steven

    Patrick, I’m interested in you opinion about the differences between CCI and Mono.Cecil. What are the pro’s and cons and which do you like better?

  • Joe

    Interested how this relates to the new managed complier work that the c# team are working on. Will this make CCI redundant?