Каталог Призм / Меф Каталог SatisfyImports - PullRequest
2 голосов
/ 05 апреля 2011

В моем приложении у меня есть модуль, на который я ссылаюсь прямо из оболочки (только когда я работаю).

т.е.

protected override void ConfigureAggregateCatalog()
    {
        base.ConfigureAggregateCatalog();

        AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Bootstrapper).Assembly));            
        AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(MyModule).Assembly));
    }

В моем модуле, когда я 'Я вызывал SatisfyImportsOnce для представления, которое сработало, и я вижу, как создается модель представления и т. д.

Однако теперь я изменил свой загрузчик, чтобы использовать directoryCatalog для моего модуля.Я добавил несколько событий после сборки, чтобы скопировать сборку модуля, pdb и т. Д. В оболочку.

Итак, теперь у меня в загрузчике есть следующее

protected override void ConfigureAggregateCatalog()
    {
        base.ConfigureAggregateCatalog();

        AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Bootstrapper).Assembly));

        // add the directory catalog for the modules
        AggregateCatalog.Catalogs.Add(new DirectoryCatalog("Modules"));
    }

Теперь я могу запустить свойприложение и увидеть представления из моего модуля, но SatisfyImportsOnce, который раньше работал, похоже, ничего не делает.Я не вижу никаких ошибок.Существуют ли другие атрибуты, которые мне нужны при импорте / экспорте теперь, когда я использую каталог каталога?

Спасибо.

1 Ответ

0 голосов
/ 07 апреля 2011

Нет, не должно быть никакой разницы в атрибутах, которые вы должны использовать.

Трудно сказать, что не так, вот сообщение в блоге об общей MEF-отладке .

...