Может Моно. Cecil изменяет код, уже загруженный в AppDomain?

Я хочу добавить некоторое поведение к определенному классу во времени выполнения. Я знаю, как разделить на подклассы во времени выполнения с помощью Отражения. Испустите, но это недостаточно, в зависимости от некоторой внешней конфигурации, я должен ввести коды операций в методе на типе T так все классы, которые наследовались ей, автоматически получают это поведение. (Я наклоняюсь, используют.NET Профильный API),

Может что-то вроде этого быть покончить Моно. Cecil?

Если не возможно изменить код загруженного блока, хорошо, Если я могу сделать модификации, прежде чем блок будет загружен, и затем загрузите измененный блок в памяти, но я не знаю, как я могу управлять загрузкой блока.

9
задан Thiago de Arruda 2 May 2010 в 20:20
поделиться

1 ответ

Нет, Сесил не может модифицировать загруженную сборку. Вы должны инструментировать сборки до того, как они будут загружены.

У вас нет особого контроля над тем, как разрешаются сборки. Вы можете подключиться к AppDomain.AssemblyResolve, если спрячете сборки в свою личную папку, и инструментировать их перед загрузкой.

6
ответ дан 4 December 2019 в 23:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: