У меня есть класс, который использует метод подкачки каталогов для 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. Для обоих звонков я пытаюсь загрузить одну и ту же сборку. Любая подсказка, почему это будет иметь место?