Загрузка сборки - разрешение зависимостей
От: GuinPin  
Дата: 16.02.05 08:52
Оценка: 2 (1)
Необходимо загрузить сборку и получить свойства некоторых классов.


assembly = Assembly.LoadFile(_dlg.FileName);


После чего имеем эксепшн: One or more of the types in the assembly unable to load.

Поиском нашлось

private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
    return null;
}

где args.Name = "Sdri, Version=1.0.1872.29422, Culture=neutral, PublicKeyToken=null"
Загружаемая сборка использует классы из сборки sdri, sdri.dll лежит в том же каталоге, что и загружаемая сборка.
Как заставить программу загружать недостающие сборки?
С уважением, Сошников Иван
Re: Загрузка сборки - разрешение зависимостей
От: Spaider Верблюд  
Дата: 17.02.05 08:56
Оценка:
Здравствуйте, GuinPin, Вы писали:

GP>Необходимо загрузить сборку и получить свойства некоторых классов.

...
GP>Загружаемая сборка использует классы из сборки sdri, sdri.dll лежит в том же каталоге, что и загружаемая сборка.
GP>Как заставить программу загружать недостающие сборки?

Fusion всё сам делает. Механизм assembly probing штука сложная, но очень хорошо настраиваемая.
Во-первых, посмотри Reflector'ом на проблемную сборку, попробуй развернуть все References у неё. Сможет ли Reflector загрузить все зависимости.
Во-вторых, поставь где-нить бряк и посмотри у проблемной сборки свойство CodeBase. Может, она еще откуда грузиться -- из GAC'и или через shadow.
В-третьих, посмотри лог ошибок %FW_SDK_PATH%\v1.1\Bin\FUSLOGVW.exe"

Глядишь и найдется ответ.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
--
К вашим услугам,
Re: Загрузка сборки - разрешение зависимостей
От: rockandroll Казахстан  
Дата: 25.02.05 08:55
Оценка:
Здравствуйте, GuinPin, Вы писали:

GP>Необходимо загрузить сборку и получить свойства некоторых классов.



GP>
GP>assembly = Assembly.LoadFile(_dlg.FileName);
GP>


Use LoadFrom(_dlg.FileName)
... << RSDN@Home 1.1.4 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.