Расширяемость Visual Studio + WPF + Элементы управления загрузкой в ​​отдельном домене приложения - PullRequest
1 голос
/ 12 ноября 2011

Мой сценарий выглядит следующим образом:

У меня есть проект Visual Studio 10 vspackage с окном инструментов в нем. Это окно инструментов имеет пользовательский интерфейс, который позволяет вам создавать конфигурационный xml-файл (поэтому представьте окно инструментов с одной стороны и стандартный редактор VS xml с другой). Файл xml на самом деле является выходом сериализации класса (представьте список ISomething), а содержащиеся в нем типы обнаруживаются пользовательским интерфейсом с помощью отражения. Пользовательский интерфейс также позволяет пользователю редактировать свойства каждого экземпляра (через propertygrid) перед сериализацией вывода в xml.

Все хорошо, но я планировал разрешить инструментальной панели обнаруживать плагины в текущем запущенном проекте VS. Это означает, что каждый раз, когда проект создается, пользовательский интерфейс должен загружать выходные данные проекта и находить новые плагины / обновлять существующие. Если я сделаю это без возможности выгрузки ранее собранных сборок, я получу беспорядок после нескольких сборок.

Я провел большую часть дня в поисках решения и столкнулся со многими вещами, но не совсем, что я ищу.

Решение, которое, я думаю, было бы самым легким для реализации (с моей стороны), заключается в возможности размещения пользовательского интерфейса (элемента управления WPF) на другом домене приложения, который будет отключаться при каждом построении проекта, но на этом этапе я Я открыт для любых решений / предложений, которые может предложить любой из вас, ребята.

Спасибо заранее, John

...