Re[2]: Проблема с референсами
От: abatishchev Россия http://godfather.net.ru
Дата: 05.04.07 10:27
Оценка:
Здравствуйте, Pavel_Agurov, Вы писали:

P_A>здесь
Автор(ы): Павел Агуров
Издательство: БХВ-Петербург
Цена: 292р.

При написании программ особенно важно не тратить время на поиск стандартных решений, а сосредоточиться на решении конкретной задачи, используя готовый эффективный код, разработанный и проверенный коллегой-программистом. В этой книге собраны лучшие


P_A>55. Перехват загрузки типов и модулей


P_A>Иногда возникает задача перехватить стандартную загрузку модулей и загрузть модуль, лежащий в определенной папке. Например, при решении проблемы локализации приложений, ресурсы могут лежать по папкам с именами языка и в зависимости от выбранного языка нужно загружать соответствующий модуль. Аналогичная задача может возникнуть при поиске модуля, содержащего нужный тип.

P_A>Событие AppDomain.CurrentDomain.TypeResolve вызывается, если системе (точнее говоря текущему домену) не удалось найти сборку, содержащую запрошенный тип. Событие AppDomain.CurrentDomain.AssemblyResolve вызывается, если системе не удалось найти запрошенную сборку.
P_A>Листинг 23 показывает пример использования этих событий. Главный модуль MainClass использует две сборки: ClassLibrary1, содержащую класс Class1 и ClassLibrary2, содержащую класс Class2. Главный модуль не имеет ссылки на первую сборку, поэтому при попытке найти тип Class1 будет вызываться обработчик TypeResolve, в котором мы загрузим нужную сборку самостоятельно. На вторую сборку ссылка имеется, но у нее выставлен тип CopyLocal=False, поэтому система не сможет определить местонахождение сборки и вызовет обработчик AssemblyResolve, в котором мы загрузим эту сборку самостоятельно.

спасибо большое!!

я пробовал
Assembly my = Assembly.GetEntryAssembly();
my.ModuleResolve += new ResolveEventHandler(ModuleResolve);
но оно не зажишалось. теперь понятно почему!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.