Я могу скомпилировать, получить экземпляр и вызвать метод любого типа C# программно. Там много информации об этом, включая StackOverflow (Как я могу оценить выражение C# динамично?). Моя проблема состоит в том, что я нахожусь в веб-среде и ничего не могу сохранить к / каталогу bin. Я могу скомпилировать "в оперативной памяти", как вышеупомянутая ссылка предполагает, но затем я не смогу "разгрузить" свой пользовательский блок от текущего AppDomain. Через некоторое время это станет огромной проблемой памяти. Действительно ли возможно открыть новый AppDomain, скомпилировать новый блок, "в оперативной памяти", оценить некоторое выражение или доступ некоторый участник того блока в том новом AppDomain и уничтожить тот AppDomain безопасно при выполнении, все это, ничего не сохраняя к жесткому диску? Заранее спасибо за любые ссылки, предложения, и т.д.
Вы посмотрели на тип DynamicMethod в .Net? Этот тип создает методы с поддержкой сборки мусора в памяти, используя Reflection.Emit. Это похоже именно на то, что вы ищете.