Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > Перезагрузить dll |
Автор: kuller 1.6.2011, 07:05 | ||
Здравствуйте!!! Я в своей программе, в событии формы Load загружал dll-ки (из той папки откуда была запущена программа). Загружал вот таким образом:
Ну затем анализировал dll-ку, искал нужные мне классы, методы и вызывал их. Столкнулся с проблемой когда dll-ку вызываю второй и более разы, то получаю совсем неверные результаты, такое ощущение, что где то в памяти значения всех переменных из dll-к сохраняются и при повторном вызове накапливаются. Ну вот я и подумал, может есть какой то метод, который ПЕРЕЗАГРУЗИТ dll-ку и не будет такого глюка??? Заранее спасибо!!! |
Автор: Dennnis 1.6.2011, 07:36 |
Перезагрузить отдельно загруженную DLL'ку нельзя, только вместе с доменом в который она была загружена. Что значит "вызвать dll'ку? Не должно быть такого глюка если ты не используешь внутри каких-нибудь статических полей. |
Автор: kuller 1.6.2011, 07:44 | ||||
Dennnis, ну тут немного не правильно выразился, имелось ввиду повторный вызов метода, который описан в dll-ке. По поводу статических полей, вроде не использую, ну вот пример метода, который я вызываю:
Так вот при каждом вызове метода "Method1" сумма накапливается, в чем дело??? |
Автор: jonie 1.6.2011, 09:14 |
перезагрузить просто не получится. Надо загружать в отдельный домен, который затем и грохать. http://blogs.msdn.com/b/ericgu/archive/2007/06/05/app-domains-and-dynamic-loading-the-lost-columns.aspx |