Como descargar una dll de memoria ?

06/10/2004 - 16:26 por José Antonio Montalvo Almaguer | Informe spam
Hola compañeros, alguien de ustedes sabe como puedo descargar una dll de
memoria, ya que estoy usando Reflection para invocar un metodo de una dll,
pero se queda cargada en memoria y necesito que se libere. Espero me puedan
ayudar. Gracias de antemano.
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
06/10/2004 - 15:50 | Informe spam
El tema es como minimo complicado...

Cuando cargas un assembly lo estas cargando dentro de un dominio de
aplicción (AppDomain), hasta que este dominio de aplicación no se destruye,
el assembly no se descarga. Eso es así y no hay donde rascar.

Solucion, crear un nuevo AppDomain que sea el que cargue el assembly y luego
cuando hemos teminado con el assembly lo descargamos.

El problema biene a la hora de pasar datos entre el AppDomain de nuestra
aplicación y el que hemos creado para cargar la dll. Los dos AppDomain no se
conocen para nada, lo que implica que tendremos que usar remoting (u otro
sistema de comunicación entre procesos más rudimentario, tipo fichero
compartidos o así, cosa que no te recomiendo) para pasar datos de un
AppDomain a otro, esto influira en el rendimiento sin duda.

Lee AppDomains and Dynamic Loading
http://msdn.microsoft.com/library/d...162002.asp


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org

Preguntas similares