Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MEF: проблема при подключении нескольких dll 
:(
    Опции темы
JawBreaker
Дата 9.12.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.12.2010

Репутация: нет
Всего: нет



Есть проект, написанный с использованием 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 - 9.12.2010, 14:26
PM MAIL   Вверх
JawBreaker
Дата 10.12.2010, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.12.2010

Репутация: нет
Всего: нет



Вроде разобрался. Нужно, чтобы у каждого плагина в Properties было уникальное Assembly name.
http://mef.codeplex.com/Thread/View.aspx?ThreadId=237876
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.