C# MEF - сборки загружаются на некоторых машинах, но на некоторых нет - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть следующий сценарий.

  • Я создал интерфейс и некоторые реализующие классы.
  • Я пометил реализующие классы [Export(typeof(interfaceName))] для использования MEF
  • Затем я создал AggregateCatalog и добавьте DirectoryCatalog к нему, который указывает на непосредственные ссылки на сборки, которые должны быть введены / загружены
  • После этого я создаю CompositionContainer с AggregatedCatalog в качестве параметра конструктора

Теперь все должно быть в порядке с этой процедурой, поскольку все работает просто отлично, и реализующие классы загружаются / вводятся во время выполнения. Но только на моей машине, точнее сказать на некоторых машинах. На других это просто не вводит / загружает реализующие классы. Мое первое предположение, что версии. Net Framework отличаются. Я проверил это, и это не тот случай. Второе предположение было из-за другой версии операционной системы. Тоже не тот случай. Хорошо, тогда я узнал на машине, где она не работала, файлы конфигурации библиотек реализующих классов, где отсутствовал. Добавил их, но все равно не получилось. Как примечание: мы не запускаем приложение из VS, мы строим его в режиме выпуска и копируем все dll и файлы конфигурации, в основном каждый файл, из папки bin / release. Приложение представляет собой сервис, который должен быть зарегистрирован.

В данный момент я не знаю, как продолжить отладку этой проблемы, у кого-нибудь здесь есть какие-то подсказки?

...