У меня есть небольшая хитрая проблема, которую я пытаюсь решить. У меня есть внутреннее (для моей организации) MEF-приложение, которое загружается в дополнительные пакеты для обработки разных запросов. Моя организация время от времени выпускает SDK. Чтобы помочь управлять постоянными обновлениями, у меня есть собственный закрытый пакет NuGet с библиотеками SDK, которые я включаю в свои обработчики. Я просто ссылаюсь на это. Проблема состоит в том, что среды, в которых мы развертываем, не всегда имеют самые последние двоичные файлы, поэтому мои обработчики не загружаются, потому что он ищет конкретную c версию двоичного файла (т.е. «Не удалось загрузить в MyBinary.dll, потому что MefApp.1.1»). .3 не удалось найти ").
Для ясности моя проблема выглядит следующим образом:
Пакет SDK:
- Содержит двоичные файлы с интерфейсами, которые мне нужны для приложения MEF
Проект обработчика:
- Импортирует пакет SDK
- Реализует ожидаемые интерфейсы и т. Д. c.
- Делает вещи
MEF App:
- Попытки загрузить «Проект-обработчик»
- Сбой из-за того, что файлы SDK отличаются от ожидаемых
Я бы подумал, что это то, что может быть обработано перенаправлением сборки, но проблема в том, что я не знаю, какая версия будет в каждой среде.
Наконец, я понимаю, что, если есть серьезные критические изменения, это БУДЕТ терпеть неудачу, и нет никакого способа обойти это. Это чисто для незначительных обновлений, в которых нет критических изменений.
Спасибо,