Question

J'ai essayé d'écrire une application métro extensible en utilisant MEF.Je l'ai fait fonctionner avec une extension locale (à l'intérieur de l'assembly actuel).Maintenant, je veux charger une DLL externe.Le DirectoryCatalog ne semble pas être présent dans .net 4.5.J'ai donc essayé d'utiliser ApplicationCatalog mais j'ai eu l'erreur suivante en appelant SatisfyImportsOnce: Assembly.LoadFrom is not supported in AppX..

Voici mon code :

var catalog = new AssemblyCatalog(GetType().GetTypeInfo().Assembly);
ApplicationCatalog catApp = new ApplicationCatalog();
AggregateCatalog cat = new AggregateCatalog(catalog, catApp);
_compositionService = cat.CreateCompositionService();
_compositionService.SatisfyImportsOnce(this);

Des suggestions, qu'est-ce qui ne va pas ?

J'ai placé la DLL dans le répertoire Appx et exécuté VS11 Beta en tant qu'administrateur.

Était-ce utile?

La solution 2

J'ai parlé à un supporter sur les forums MEF et il confirme qu'ApplicationCatalog ne pouvait pas être utilisé à partir d'une application métropolitaine.Cette question ne peut donc pas être résolue mais pourrait être close.Sujet source

Autres conseils

Votre bibliothèque externe s'étend en dehors du bac à sable autorisé de Metro.Le framework .NET dans l'environnement Metro est limité, similaire au WP7 ou au Micro Framework.Il y a beaucoup de choses coupées.Si votre DLL externe n'est pas construite à l'aide de ces bibliothèques contraintes, le compilateur interdira son utilisation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top