Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > MEF: проблема при подключении нескольких dll


Автор: JawBreaker 9.12.2010, 14:25
Есть проект, написанный с использованием MEF. В нём подключается каталог, в котором происходит поиск dll. DLL находятся, их количество определяется верно, они подгружаются в контейнер. Только вот в контейнере их содержимое становится точно такое же, как и у первой подгруженной dll (берётся из первой по алфавиту dll в папке).

Код

class MEF
{
        // Пробовал и Lazy Import, и обычный
        [ImportMany]
        //IEnumerable<Lazy<VirtuaLab_Interface.MEFInterface>> plugins;
        IEnumerable<VirtuaLab_Interface.MEFInterface> plugins;

        // Контейнер, в который загружается содержимое dll
        private CompositionContainer _container;

        public MEF()
        {
            var catalog = new AggregateCatalog();            
            catalog.Catalogs.Add(new DirectoryCatalog("Plugins"));

            _container = new CompositionContainer(catalog);

            try
            {
                this._container.ComposeParts(this);
            }
            catch (CompositionException compositionException)
            {
                MessageBox.Show(compositionException.ToString());
            }
        }
}


В чём может быть ошибка?

Автор: JawBreaker 10.12.2010, 21:45
Вроде разобрался. Нужно, чтобы у каждого плагина в Properties было уникальное Assembly name.
http://mef.codeplex.com/Thread/View.aspx?ThreadId=237876

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)