![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| jfx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Понятно что такого метода MS не предусмотрела, но тем не менее как можно "разлочить" dll-ку со сборкой которая уже не используется? AppDomain.UnLoad не помог...
Меня не интересует "уборка мусора", dll остается залоченой до выхода из приложения при любых обстоятельствах Как победить? Спасибо. Добавлено @ 19:42 Да, если это невозможно, то может быть можно как-то получить ресурс из сборки без ее загрузки? |
|||
|
||||
| jfx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Похоже только AppDomain.SetShadowCopyFiles может помочь (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemappdomainclasssetshadowcopyfilestopic.asp?frame=true)
Может можно как-то проще? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Сборку, загруженную в домен, выгрузить нельзя.
-------------------- ![]() |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Зато можно выгрузить домен со всеми сборками |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Можно загрузить ресурс в отдельном домене, и вернуть первому домену его сериализованное содержимое. Второй домен выгружается, сборка разлочивается, вот и всё. Если надо, могу привести пример как создаются домены. -------------------- ![]() |
|||
|
||||
| jfx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Спасибо, давно не заглядывал.
Т.е. можно в домен загрузить только ресурс? Как домены создаются я знаю Спасибо. |
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Создаём домен, дёргаем метод в отдельном домене. После того как попали в новый домен, грузим сборку с пом. Assembly.LoadFrom. Получаем ресурс с пом. GetManifestResourceStream. Читаем стрим в переменную-массив. Кладём массив во внутренние переменные домена с пом. AppDomain.SetData(). Выходим из метода, получаем с пом. GetData() массив. Выгружаем домен. Вот пример:
-------------------- ![]() |
||||
|
|||||
| jfx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Спасибо, буду пробовать.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |