Как лучше всего загрузить расширения MEF в зависимости от местоположения решения?

У нас есть расширение, которое вызывает инструменты командной строки и библиотеки DLL, которые постоянно обновляются и развертываются через систему управления версиями. Пользователи часто работают в разных ветвях, каждая ветвь может иметь различия в этих интерфейсах командной строки.

Поэтому я хочу избежать переустановки vsix вручную каждый раз, когда эти файлы обновляются или когда пользователь переключает ветки.

Вместо этого я хочу, чтобы пользователи просто синхронизировались из perforce, а открытие решения автоматически загружало соответствующий vsix.

Я мог бы создать прокси-расширение, которое включает в себя всю необходимую мне функциональность, а затем динамически загрузить сборку, содержащую мою реализацию, и вызвать ее из прокси. Но с MEF существует так много точек входа для создания расширений, что мне нужно обновлять прокси так же часто, как я добавляю функции в наше расширение.

Возможно, есть способ динамически загрузить сборку, содержащую расширения MEF?


person Anthony Brien    schedule 19.03.2012    source источник


Ответы (1)


У меня есть сообщение в блоге, в котором подробно описано, как автоматически обновлять файл vsix, если версия была обновлена:

http://blog.ninlabs.com/2011/04/auto-update-visual-studio-extensions/

Возможно, вы сможете адаптировать его для проверки относительного пути к файлу, в котором хранится vsix, на основе пути к решению.

person gameweld    schedule 23.05.2012