CCI vs. Mono.Cecil — advantages and disadvantages

后端 未结 2 790
悲哀的现实
悲哀的现实 2020-12-30 02:13

I have seen articles discussing these two similar frameworks, but most of them are two years old or so. I assume both projects are much more mature now than they were two ye

相关标签:
2条回答
  • 2020-12-30 02:27

    Cecil - because for me, community support for it is better than the CCI. I have always found answers on mailing lists / sites quicker for cecil.

    0 讨论(0)
  • 2020-12-30 02:28

    CCI

    Pros:

    • Can give you finer-grained control on your performance
    • The latest version is a bit more mature

    Cons:

    • The object model is more complicated (and confusing if you're new to IL/low-level reflections, like I am)

    Cecil (referring to the newer git-hub version)

    Pros:

    • Has a simpler object model so will be easier to get started on

    Cons:

    • The latest version is less mature, so has fewer code samples available
    • The API is a work-in-progress
    • You won't have as much control over name-caching (for perf)

    Which I'd choose

    Couting up the pros/cons, it sure looks like I'd pick CCI over Cecil. But I wouldn't.

    Cecil is up-and-coming, has an easy API design, has an active authorship (well, did 7.5 months ago, and still seems to now), and was painless to debug through on any issue I encountered.

    CCI was quite painful to code against - the interface-based design is taken too far. The code is hard to debug through. Some things seem complete at first glance, but aren't, or don't handle more than a single use case. The NameTable stuff made my head spin (more than it already was).

    0 讨论(0)
提交回复
热议问题