LoadFrom и контекст - PullRequest
       33

LoadFrom и контекст

2 голосов
/ 02 февраля 2012

Я загружаю через Assembly.LoadFrom сборку (A), которая хранится вне базового пути приложения; загружаемая мной сборка ссылается на другую сборку .net (B) в том же каталоге.

Когда я пытаюсь использовать некоторые методы сборки A, журналы Fusion показывают, что система пытается загрузить B.dll из базового каталога приложения, а не из родительского каталога A.dll.

Я добавил слушателя к AppDomain.CurrentDomain.AssemblyResolve, который вызывается с отправителем AppDomain, имеющим сообщение «Нет политик контекста». Свойство ResolveEventArgs.RequestingAssembly установлено на null.

Разве LoadFrom не должен разрешать поиск зависимостей сборки в родительском каталоге?

Ответы [ 2 ]

3 голосов
/ 05 февраля 2012

Да, я думаю, что так и должно быть, но Леппи прав, это не так.Вот подробная статья MSDN о последовательности проверки сборки .Несколько раз я сталкивался с одной и той же проблемой, и использование события AssemblyResolve - единственный способ.

0 голосов
/ 19 января 2019

Ну, собственно, так и должно быть! И это так. См:

В то время как CLR все еще пытается разрешить зависимости сборки (A), используя GAC и каталог appbase, он также будет искать в папке (A), загруженной из.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...