2011-01-04 13 views
5

He diseñado una aplicación que tiene varios complementos mediante el uso del marco MEF para cargar cualquier aplicación de las interfaces de complemento en el directorio de la aplicación, cosas bastante estándar.MEF cargando archivos DLL que requirieron archivos DLL en el GAC

Sin embargo, desde entonces he desarrollado un complemento que se basa en algunas DLL de una aplicación diferente (que las instala en el GAC) - en una computadora con estas instaladas la aplicación funciona bien pero en una computadora que no funciona toda la aplicación se cae.

He hecho algunas investigaciones sobre cuándo el motor de búsqueda busca DLL y aparentemente lo hace para cada método que encuentra. Luego intenté modificar el complemento para determinar si los archivos DLL necesarios están dentro del GAC antes de proceder a ingresar el método que los requiere, pero esto causó la misma caída.

Luego comenté todo el código de la clase, aparte de un constructor desnudo y algunos apéndices de interfaz para ver si eso funcionaría pero causó el mismo error. ¿El tiempo de ejecución .net intenta cargar cualquier ensamblado de GAC inmediatamente?

¿Alguien ha tenido alguna experiencia con este tipo de situación? ¿Cuáles son mis opciones?

Gracias

Marlon

Respuesta

6

he respondido a una pregunta muy similar here. (La pregunta vinculada es sobre problemas cuando MEF intenta procesar ensamblajes ofuscados, pero usamos la misma técnica para ignorar los complementos que dependen de ensamblados faltantes en el GAC como en su caso de uso).

+0

Gracias, eso lo resolvió - ahora ignora ese complemento si no puede cargarlo – Marlon

Cuestiones relacionadas