Можно ли в .net загрузить Assembly минуя Global Assemb Cahce
От: njel  
Дата: 09.08.05 15:28
Оценка:
Который день борюсь с проблемой утечки памяти. И вот причина.

AppDomain newDomain = AppDomain.CreateDomain("newDomain"); создаю домен
byte[] rawAssembly = loadFile(i.ToString()+".dll"); читаю тело длл с именем 0.dll, 1.dll, ... 100,dll и так далее
Assembly assembly = newDomain.Load(rawAssembly, null); загружаю Assembly в домен.

По идеологии, выгружаю всё что загрузил ниже.

assembly = null;
AppDomain.Unload(newDomain);
newDomain = null;

GC.Collect();
GC.WaitForPendingFinalizers();

если же теперь наблюдать за GC.GetTotalMemory(true) то окажется что размер выделенной пямяти увеличивается.
Возможно что созданый Assembly падает Global Assembly Cashe. В .NET 2.0 Есть возможность загружать
Assembly минуя Global Assembly Cashe.

Люди добрые. Люди умные. Люди настойчевые. Помогите, дайте возможность поспать, отойти от монитора.
С уважением.





09.08.05 19:37: Перенесено модератором из 'MFC' — SchweinDeBurg
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.