Как загрузить / импортировать DLL с MEF из приложения метро? - PullRequest
1 голос
/ 12 марта 2012

Я пытаюсь написать расширяемое приложение для метро, ​​используя MEF. У меня это работает с локальным расширением (внутри текущей сборки). Теперь я хочу загрузить внешнюю DLL. DirectoryCatalog, по-видимому, отсутствует в .net 4.5. Поэтому я попытался использовать ApplicationCatalog, но при вызове SatisfyImportsOnce я получил следующую ошибку: Assembly.LoadFrom is not supported in AppX..

Вот мой код:

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

Есть предложения, что не так?

Я поместил dll в каталог Appx и запустил VS11 Beta от имени администратора.

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Я разговаривал с каким-то сторонником на форумах MEF, и он подтверждает, что ApplicationCatalog нельзя использовать вне приложения метро. Так что этот вопрос не решаем, но может быть закрыт. Исходная тема

1 голос
/ 13 марта 2012

Ваша внешняя библиотека выходит за пределы разрешенной песочницы Metro.Платформа .NET в среде Metro ограничена, аналогично WP7 или Micro Framework.Здесь много чего вырезано.Если ваша внешняя DLL не создана с использованием этих ограниченных библиотек, то компилятор запретит ее использование.

...