| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Загрузка assembly из локалной папки |
| Автор: Pankon 28.4.2006, 13:28 | ||||||
Очень простая assembly:
Создаю новый домен приложения и пытаюсь загрузить assembly
Что за бред? По этому сообщению видно, что система нашла эту Assembly, бедь система прочитала ИЗ файла Строгое имя. Что не так? Все перерыл ... |
| Автор: mr.DUDA 4.5.2006, 11:35 |
| юзаем Assembly.LoadFrom а не Assembly.Load |
| Автор: Pankon 4.5.2006, 12:47 |
| о чем речь |
| Автор: arilou 4.5.2006, 13:28 |
Assembly.LoadFrom и Assembly.Load загружают сборку в текущий appdomain |
| Автор: arilou 4.5.2006, 15:05 | ||||
Принимая во внимание вот это:
Делаем вот так:
|
| Автор: Pankon 4.5.2006, 16:49 | ||||||||
AppDomain.Load Method (AssemblyName)
|
| Автор: arilou 4.5.2006, 17:07 |
| Pankon, более того - сборка будет загружена и в текущий домен |
| Автор: Pankon 4.5.2006, 17:13 | ||||
| Ну а нафига тогда такие новые домены, если туда и сборку не запихнуть Добавлено @ 17:16 http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cpref/html/frlrfsystemappdomainclasstopic.asp
|
| Автор: mr.DUDA 4.5.2006, 18:09 |
| Передавай вызов в другой домен и уже оттуда грузи всё что тебе нужно. |
| Автор: arilou 5.5.2006, 12:48 | ||
Ты что, не читаешь то, что тут пишут |
| Автор: Pankon 5.5.2006, 18:21 |
Читаю: Терминология MSDN Вероятно я не правильно интерпретировал твой первый пост... Я же не знал, что текущий домен нужно интепретировать как целевой домен. Добавлено @ 18:27 Кстати. Что говорит теория по поводу "отсутствия" "достойных" собственных методов загрузок сборок из новых доменов... Что приводит к использованию способов загрузок из домена текущего приложения (через делегаты) |
| Автор: arilou 5.5.2006, 18:46 | ||||||||
| Блин, написал большой ответ, а браузер его по..ил. Вобщем, смысл такой. Исходя из этого:
всего логично. Если вызывать
То вызов Load пересечет границу между апдоменами. Т.к. AppDomain.Load возвращает ссылку на загруженную сборку, то при переходе границы создается копия Assembly, что вызывает ее загрузку в текущем домене - том, в котором произощел вызов AppDomain.Load. В моем примере этот вызов происходит в новом созданном домене newDomain, т.к. я использую метод AppDomain.DoCallback.
Я так не говорил. Текущий домен - это домен, в котором в данный момент времени выполняется данный код. |
| Автор: FatherFrost 8.11.2007, 14:52 |
| arilou, попробовал такой способ. У меня вылетает ошибка, что класс в котором я это все делаю несериализуем. Попробовал сделать его сереализуемым, но результата никакого. |
| Автор: stab 8.11.2007, 15:00 |
| FatherFrost, а что за класс? |
| Автор: FatherFrost 8.11.2007, 15:05 |
| stab, нашел более подробный пример в другой старой теме. Думаю ща все будет ок. |
| Автор: arilou 8.11.2007, 15:46 | ||
FatherFrost, ну ты некрофил
попробуй вынести это в статический метод. |