微软研究院已经将“Common Compiler Infrastructure: Metadata (CCI)”和“CCI: Code and AST”两个项目开源了,其中包含了一套让编译器或编程工具操作CLR程序集元数据和调试文件的类库。CCI: Metadata组件扩展了System.Reflection,而CCI: Code and AST扩展了System.CodeDom。
CCI并不会加载它访问的程序集,而是读写它们的元数据,同时它也只会在必要时才会打开依赖的程序集。在操作CLR PE文件时,CCI可以写入任何实现了元数据模型接口(Microsoft.Cci.MetadataModel)的对象。
CCI: Metadata的API包括:
CCI: Code and AST项目包括:
这个项目由微软研究院的RiSE团队支持。