Ответ 1
Я знаю, что это был старый вопрос, но я хотел бы дать ответ. IKVM.Reflection.Emit
API был изобретен, когда его автор устал от System.Reflection.Emit
и Cecil.Reflection.Emit
. Чтобы сделать компилятор IKVMC быстрее, он работал с нуля, чтобы разработать этот новый API.
Историю можно найти в следующих блогах,
2008 Aug Переключитесь с Microsoft.NET на Сесил
2008 Nov Переключиться с Cecil на IKVM.Reflection.Emit
2010 Jan Объявить IKVM.Reflection
Итак, как правило, IKVM.Reflection и Cecil имеют схожие функции, а IKVM.Reflection API должен быть быстрее во многих отношениях.
До сих пор вы все еще можете видеть, что Cecil широко используется во многих утилитах (таких как Obfuscar, инструмент обфускации, который я поддерживаю). IKVM.Reflection в основном используется в компиляторе Mono С# и сам IKVM, и я не уверен, есть ли в нем другие проекты (но их должно быть много).