Ответ 1
CCI
Плюсы:
- Может дать вам более тонкий контроль над вашей производительностью.
- Последняя версия немного более зрелая.
Минусы:
- Объектная модель более сложная (и запутанная, если вы новичок в IL/low-level reflections, например, я)
Cecil (ссылаясь на более новую версию git -hub)
Плюсы:
- Более простая объектная модель будет легче начать с
Минусы:
- Последняя версия менее зрелая, поэтому доступно меньше примеров кода
- API - это незавершенный процесс.
- У вас не будет такого контроля над кешированием имен (для perf)
Я бы выбрал
Преодоление плюсов и минусов, похоже, я бы выбрал CCI над Сесилом. Но я бы не стал.
Cecil - продвинутый, имеет простой дизайн API, имеет активное авторство (ну, сделал 7.5 месяцев назад, и по-прежнему кажется сейчас), и было безболезненно отлаживать любую проблему, с которой я столкнулся.
CCI был довольно болезнен в отношении кода - интерфейс на основе интерфейса зашел слишком далеко. Код трудно отлаживать. Некоторые вещи кажутся завершенными с первого взгляда, но не являются или не обрабатывают больше, чем один случай использования. Материал NameTable
запустил мою голову (больше, чем она уже была).