2011-01-04 3 views
5

Ho progettato un'applicazione che ha vari plugin usando il framework MEF per caricare pigro qualsiasi implementazione delle interfacce del plugin nella directory dell'applicazione - roba piuttosto standard.MEF che carica DLL che hanno richiesto DLL nel GAC

Tuttavia, da allora ho sviluppato un plug-in che si basa su alcune DLL di un'applicazione diversa (che le installa nel GAC) - su un computer con queste installato l'applicazione funziona correttamente ma su un computer che non è mio l'intera applicazione cade.

Ho fatto qualche ricerca su quando il runtime cerca DLL e apparentemente lo fa per ogni metodo che incontra. Ho quindi tentato di modificare il plug-in per determinare se le DLL necessarie si trovano all'interno del GAC prima di procedere con l'inserimento del metodo che le richiede, ma ciò ha causato la stessa caduta.

Ho quindi commentato tutto il codice della classe oltre a un semplice costruttore e alcuni stub dell'interfaccia per vedere se funzionasse, ma ha causato lo stesso errore. Il runtime .net tenta di caricare immediatamente qualsiasi assembly GAC?

Qualcuno ha avuto esperienza con questo tipo di situazione? Quali sono le mie opzioni?

Grazie

Marlon

risposta

6

ho risposto a una domanda molto simile here. (La domanda collegata riguarda problemi quando MEF tenta di elaborare assiemi offuscati, ma usiamo la stessa tecnica per ignorare plugin che dipendono da assembly mancanti nel GAC come nel caso d'uso.)

+0

Grazie, che l'ha risolto - ora ignora quel plugin se non riesce a caricarlo – Marlon