Изменение имени сборки нарушило пространство имен xaml - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть приложение с именем Application.exe.Я использую его для показа документов другого типа.Каждый шаблон типа документа представляет собой один dll-файл с пользовательскими элементами управления wpf и бизнес-логикой внутри.Поэтому, когда я запустил свое приложение, я загружаю xml-файл и Template.dll, а затем показываю некоторую wfp-форму для работы.Мои Application.exe и Template.dll оба используют некоторую сборку с именем Application.CustomControls.dll.Я включаю его в проект установки для приложения, поэтому Application.CustomControls.dll уже находится в домене приложения, когда мой Application.exe пытается показать документ.

Теперь мой клиент требует изменить имя Application.CustomControls.dll на CustomControls.dll.Не спрашивайте, пожалуйста.Просто имя файла сборки, а не пространство имен или что-то еще.Я могу сделать это для применения без проблем.Я могу перестроить решение и создать проект установки с новым именем dll-файла.Но я не могу открыть старые шаблоны, если они все имеют старое имя внутри.Особенно в xaml, например:

xmlns:Controls="clr-namespace:CustomControls.Design;assembly=Application.CustomControls"

Я не могу просто перестроить все шаблоны.Это будет сделано, но в prod всегда найдется время, когда некоторые пользователи забыли обновить свою программу и так далее.Таким образом, либо старое приложение не может открыть новый шаблон, либо новое приложение не может открыть старый шаблон.Я не изменил пространство имен или версию Application.CustomControls.dll просто имя.Могу ли я как-то решить эти проблемы и заново связать ссылку на сборку внутри приложения?С AppDomain.AssemblyResolve событием или конфигурационным файлом?

...