Как я могу скомпилировать динамический код во время выполнения в текущей сборке?
Я использую VBCodeProvider
компилировать код, но он генерирует новую сборку, а также мне нужно добавить все ссылки на сборки, которые мне нужно использовать.
Есть ли способ скомпилировать код в текущей сборке?
2 ответа
Вы не можете закалить текущую сборку.
Пару лет назад я написал статью на тему динамической компиляции: http://emoreau.com/Entries/Articles/2011/07/Compiling-code-on-the-fly.aspx
Кстати, Roslyn доступен только в том случае, если вы используете VS2015 (если вы не используете CTP, которые были доступны для VS2013, но это не хорошая идея для чего-либо еще, кроме тестирования).
VBCodeProvider устарел. Используйте Roslyn. Но это все равно не позволит вам изменить существующую сборку во время выполнения, потому что это невозможно.
Скомпилируйте и загрузите новую сборку. Вы можете использовать Reflection для автоматического добавления списка ссылок на компиляцию Roslyn.