微软的代码合同使用了哪个二进制重写器?

4
我在谈论那些最终会出现在.NET 4.0中的代码契约。他们使用哪个二进制重写器来注入使所有工作都能够实现的代码?它是否公开可用?我希望这不仅仅是编译器的事情,因为我很想能够使用他们的二进制重写器进行AOP。
1个回答

5
如果您想编写自己的AOP,或者任何其他修改IL的内容,您可能需要查看Codeplex上的MS Research的Common Compiler Infrastructure项目。它是一个开源的工具包,提供了IL阅读器和IL编写器实现,非常棒。
Jason Bock还在使用CCI进行代码注入的一系列博客文章中,对使用这些工具实现AOP风格的程序集修改进行了很好的概述。

1
非常感谢您的回复。谢谢您指出这一点。我会进一步研究。实际上,我提出问题的原因是我正在寻找一个有良好文档支持的二进制重写器,并且我认为微软会是一个很好的提供者。 - user65199
1
甚至在http://blog.dotnetwiki.org/2009/04/16/ReadMorphTweakWriteMSILWithCCIOpenSource.aspx中提到,CCI被FxCop、ILMerge、Spec#或Code Contracts使用。 - user65199
2
代码合同二进制重写器是基于 CodePlex 上可用的 CCI 构建的。挖掘合同的 API 已经在 cciast.codeplex.com 项目中发布(查找 IContractProvider)。 - Peli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接