在能力、易用性、文档、样例、社区/支持、VS集成、已知实现、长期可行性和构建速度方面,哪个自定义AOP框架更好呢?
我会从我所知道的开始(到目前为止我只尝试过PostSharp):
- Microsoft Common Compiler Infrastructure (CCI):我读过它被用于FxCop、ILMerge、Spec#和Code Contracts。它似乎非常低级,因为即使在使用它修改IL时,它也不会处理分支代码的偏移量错误。
- PostSharp:已经有5年历史了,拥有许多AOP的能力(例如,抽象一些你需要手动处理的IL内容),源代码可用,由一个人开发/维护,但他计划将其作为商业产品推出,有文档但仍有改进空间,构建时间大约需要两倍,如何注入IL内容的样例很少,即将发布2.0版本,承诺有很大的改进。
- Mono Cecil:由一名开发者编写,是Mono套件的一部分,Reflector有一个名为Reflexil的插件使用了Mono Cecil。