В моем проекте у меня проблема с иерархией зависимостей.Я использую библиотеку ( WriteableBitmapExtensions ) в своем коде, и у меня есть другая сторонняя библиотека, которая также использует WriteableBitmapExtensions.Только другая библиотека строго привязана к конкретной, более старой версии, и мой код нуждается в функциональности в его последней версии.
Вот описание зависимостей: ![dependency tree](https://i.stack.imgur.com/9PWiW.gif)
Есть похожиевопросы и решения, но они решаются с помощью привязки сборки во время выполнения через файл конфигурации, но я не думаю, что это совместимо с приложением Silverlight.
Ссылка на две разные версии log4net в одном решении
Использование разных версий одной и той же сборки в одной папке
Сторонние библиотеки ссылаются на разные версии log4net.dll
Как работать с несколькими версиями зависимостей?
Так есть ли способ разрешить эти разные версии зависимостей сборки в контексте Silverlight?Если нет, я полагаю, что у меня есть следующие варианты:
1) Скорее всего, я смогу убедить поставщика сторонней библиотеки обновить его, чтобы использовать последнюю версию WriteableBitmapExtensions, но я бы предпочел не делать этого.зависит от их поддержания в актуальном состоянии.Тем более что проект WriteableBitmapExtensions все еще обновляется, и мы часто пользуемся их новыми возможностями.
2) Поскольку WriteableBitmapExtensions является открытым исходным кодом, я полагаю, что могу перекомпилировать его исходный код как новую сборку «MyWriteableBitmapExtensions»и использовать это в моем исходном коде.Но я снова столкнусь с этой проблемой, если две сторонние библиотеки ссылаются на разные версии WriteableBitmapExtensions.
Я подозреваю, что у меня будет вариант 2, но я хотел бы знать, есть ли лучший способделать это (как связывание сборки времени выполнения в других вопросах), прежде чем я фиксирую / реорганизую.Спасибо!