2008-09-26 2 views
1

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

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

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

+0

В какой файл он жалуется - сборку, которую вы пытаетесь загрузить или какую-то зависимость? – 2008-09-26 18:47:05

+0

Сборка, которую я пытаюсь загрузить – 2008-09-26 19:02:23

ответ

1

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

Смежные вопросы