Come caricare / importare DLL con l'app Mef fuori dall'app metropolitana?
-
12-12-2019 - |
Domanda
Ho provato a scrivere un'app metropolitana allungabile usando il DEF.L'ho lavorato con un'estensione locale (all'interno dell'assembly corrente).Ora voglio caricare una DLL esterna.Il DirectoryCatalog
sembra non essere presente in .NET 4.5.Così ho provato ad usare ApplicationCatalog
ma ho ricevuto il seguente errore durante la chiamata SatisfyImportsOnce
: Assembly.LoadFrom is not supported in AppX.
.
Ecco me Codice:
var catalog = new AssemblyCatalog(GetType().GetTypeInfo().Assembly);
ApplicationCatalog catApp = new ApplicationCatalog();
AggregateCatalog cat = new AggregateCatalog(catalog, catApp);
_compositionService = cat.CreateCompositionService();
_compositionService.SatisfyImportsOnce(this);
.
Qualche suggerimento Cosa sta andando storto?
Ho inserito la DLL nella directory APPX ed esegui VS11 beta come amministratore.
Soluzione 2
Ho parlato con un po 'di sostenitore nei forum di MEF e conferma che ApplicationCatalog non può essere usato da un'app metropolitana.Quindi questa domanda non è risolta ma potrebbe essere chiusa. Discussione di origine
Altri suggerimenti
La tua biblioteca esterna raggiunge al di fuori della sandbox consentita della metropolitana.Il quadro .NET nell'ambiente della metropolitana è limitato, simile al WP7 o al micro framework.Ci sono un sacco di cose tagliate.Se la DLL esterna non è stata costruita utilizzando quelle librerie vincolate, il compilatore non consentirà il suo utilizzo.