Есть проект, написанный с использованием 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()); } } }
|
В чём может быть ошибка? |