2014-11-06 2 views
0

Мы разрабатываем плагины для добавления к гигантскому программному обеспечению &. Мы часто используем одни и те же элементы управления WPF, поэтому мы упаковали их и создали отдельные сборки для каждого из них.WPF не может выбрать правильную DLL, если несколько версий загружены в пределах одного и того же AppDomain.

Иногда нам нужно загрузить 2 разных плагина в одном экземпляре программного обеспечения. В этот момент, если 2 плагина используют один и тот же элемент управления повторно, но с разными версиями DLL, WPF, похоже, не может выбрать правильный. Обе библиотеки DLL правильно загружены (см. Использование Process Explorer).

То, что мы уже пробовали:

  • Binding переадресовывает
  • Ассамблеи перенаправляет
  • ПЕРЕОПРЕДЕЛЕНЫ сборки разрешающей

Есть ли решение, чтобы указать WPF, какую версию той же самой DLL она нуждается выбрать требуемое пространство имен в XAML? Можем ли мы принудительно использовать последнее в некотором роде (это сработает для нас)?

ответ

0

Посмотрите на мое обязательство о SharpDevelop: https://github.com/icsharpcode/SharpDevelop/commit/b3ea4a0efb7e3b8e083f8be40ea6f7e03ff44604

Я это исправил, с помощью пользовательского "InitializComponent" Call! («SpecialInitializeComponent») и используя специальные объединенные ресурсы ResourceDictionarys: VersionedAssemblyResourceDictionary! Надеюсь, что это поможет!

+0

Я проверю это в следующем месяце и вернусь с результатом как можно скорее. – KOTIX

+0

Это сработало для вас? –