Как развернуть пользовательскую задачу MSBuild с помощью MEF? - PullRequest
4 голосов
/ 12 августа 2010

У меня есть несколько пользовательских шаблонов элементов и проектов для Visual Studio 2010. Я создал пакет VSIX, который можно использовать для развертывания этих расширений на компьютерах нескольких разработчиков.

Сейчас я создаю пользовательский MSBuildЗадача, которая потребуется для нового шаблона элемента.

В моем локальном проекте я могу заставить это работать, указав жестко заданный путь в файле проекта:

Но это делаетне работает, когда пакет VSIX развернут в экземпляре Visual Studio 'dev'.Visual Studio просто сообщает, что CustomBuildTask.dll не может быть найден.

Где VSIX развертывает DLL?Существует ли переменная MSBuild% (path), которую я могу использовать для поиска DLL на других компьютерах, или каждый пользователь должен вручную скопировать DLL и / или поместить глобальный файл ".tasks" в свою установку Visual Studio?

ПРИМЕЧАНИЕ. Для задач MSBuild нет типа контента VSIX, как для шаблонов элементов и проектов.Я пробовал "VS Package", "MEF Component" и "Custom Extension Type" - и ни один из них не работает.

1 Ответ

1 голос
/ 13 августа 2010

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

...