У меня есть кусок кода, который использует CodeDom для генерации кода на лету. Это прямо вперед:
CodeCompileUnit
создан и заполнен типом.
- Единица передается на
CSharpCodeProvider.CompileAssemblyFromDom
.
- Сборка генерируется в памяти, и все помещается в один статический метод, который возвращает экземпляр сгенерированного типа.
Если я вызываю этот статический метод из C #, все работает нормально, но происходит сбой, если я вызываю метод из IronPython. Нет ошибок компиляции и CompiledAssembly
из возвращенного CompilerResults
НЕ является нулевым. Но если я вызываю GetTypes
для сборки, я получаю ReflectionTypeLoadException
, который говорит мне, чтобы посмотреть на LoaderExceptions. Этот FileNotfoundException
дает следующее сообщение:
Не удалось загрузить файл или сборку 'PosData, версия = 1.0.0.0,
Культура = нейтральная, PublicKeyToken = null 'или одна из ее зависимостей.
система не может найти указанный файл. ":" PosData, версия = 1.0.0.0,
Культура = нейтральная, PublicKeyToken = ноль
PosData - моя собственная сборка, которая содержит материал для генерации кода и уже загружена IronPython. Все в одной папке, поэтому я не вижу, что может отсутствовать.
Любая подсказка будет очень признательна!