При загрузке плагина и попытке создания элемента управления "XYZ" приложение выдает следующее исключение:
"Компонент" XYZ "не имеет ресурс, идентифицированный URI" /ThePluginAssembly;component/XYZ.xaml" по методу InitializeComponent() в конструктор UserControls.
Ключевыми моментами являются:
-
Пользовательский элемент управления находится в сборке плагинов
-
Я пытаюсь создать usercontrol изнутри сборки плагинов
-
Плагины расположены в том же каталоге, что и основное приложение
-
Пользовательские элементы управления имеют проблемы только при их создании через XAML. У меня есть несколько других пользовательских элементов управления в одной и той же сборке, но я создаю их с помощью кода. Я получаю сообщение об ошибке при попытке создать UserControl в XAML.
При выполнении некоторых google я понял, что это происходит, когда в приложение загружаются два экземпляра моего плагина. Когда я удалял свой плагин из одной из папок (я разрешаю загрузку этого плагина из двух мест), это исключение перестает повторяться.
Мои вопросы:
1) В чем причина того, что WPF пытается разрешить URI для загрузки моего элемента управления?
2) Не существует способа, которым я мог бы иметь два экземпляра моего плагина, загруженного в приложение, и каким-то образом избавиться от этого исключения? или каким-либо образом создать уникальный URI для каждого экземпляра (если это исключение вызвано конфликтующим URI).
Любой комментарий или ссылка будут полезны.
Спасибо за ваш интерес.
Изменить: Та же проблема, что и Фил: Как заставить WPF использовать URI ресурсов, которые используют сильное имя сборки? Argh!