У меня есть следующий сценарий.
- Я создал интерфейс и некоторые реализующие классы.
- Я пометил реализующие классы
[Export(typeof(interfaceName))]
для использования MEF - Затем я создал
AggregateCatalog
и добавьте DirectoryCatalog
к нему, который указывает на непосредственные ссылки на сборки, которые должны быть введены / загружены - После этого я создаю
CompositionContainer
с AggregatedCatalog
в качестве параметра конструктора
Теперь все должно быть в порядке с этой процедурой, поскольку все работает просто отлично, и реализующие классы загружаются / вводятся во время выполнения. Но только на моей машине, точнее сказать на некоторых машинах. На других это просто не вводит / загружает реализующие классы. Мое первое предположение, что версии. Net Framework отличаются. Я проверил это, и это не тот случай. Второе предположение было из-за другой версии операционной системы. Тоже не тот случай. Хорошо, тогда я узнал на машине, где она не работала, файлы конфигурации библиотек реализующих классов, где отсутствовал. Добавил их, но все равно не получилось. Как примечание: мы не запускаем приложение из VS, мы строим его в режиме выпуска и копируем все dll и файлы конфигурации, в основном каждый файл, из папки bin / release. Приложение представляет собой сервис, который должен быть зарегистрирован.
В данный момент я не знаю, как продолжить отладку этой проблемы, у кого-нибудь здесь есть какие-то подсказки?