AppDomain и текущий каталог - PullRequest
       13

AppDomain и текущий каталог

1 голос
/ 26 сентября 2008

У меня есть класс, который использует метод подкачки каталогов для Environment.CurrentDirectory. Код выглядит примерно так:

 var str = Environment.CurrentDirectory;
 Environment.CurrentDirectory = Path.GetDirectoryName(pathToAssembly);
 var assembly = Assembly.Load(Path.GetFileNameWithoutExtension(pathToAssembly));
 Environment.CurrentDirectory = str;

Как и в моем предыдущем посте, мы используем этот метод переключения каталогов, чтобы разрешить загрузку указанной сборки, а также любых ссылочных сборок, а также неуправляемых сборок. У меня проблема в том, что эта функция запускается в двух отдельных доменах приложений. В AppDomain A (AppDomain, который я создаю) код работает нормально. В AppDomain B (AppDomain по умолчанию) он генерирует исключение FileNotFoundException. Для обоих звонков я пытаюсь загрузить одну и ту же сборку. Любая подсказка, почему это будет иметь место?

1 Ответ

1 голос
/ 27 сентября 2008

Эта запись предполагает, что вы не можете изменить путь поиска основного AppDomain после его загрузки - вы должны установить его в файле конфигурации - и у него есть ряд предложений, хотя все они сводятся к тому, что «вы не можете сделать это в основном домене приложений».

...