Как развернуть пользовательскую задачу MSBuild, используя MEF?
-
28-09-2019 - |
Вопрос
У меня есть несколько пользовательских элементов и шаблонов проектов для Visual Studio 2010. Я создал пакет VSIX, который можно использовать для развертывания этих расширений для нескольких машин разработчиков.
Сейчас я создаю пользовательскую задачу MSBuild, которая потребуется для нового шаблона элемента.
В моем местном проекте я могу заставить это работать, надевая жесткий путь в файле проекта:
Но это не работает, когда пакет VSIX развернут в экземпляр «DEV» Visual Studio. Visual Studio просто сообщает, что не может быть найден на CustombuildTask.dll.
Где VSIX развернут DLL? Есть ли переменная MSBuild% (Path), которую я могу использовать для поиска DLL на других машинах, или каждый пользователь должен вручную копировать DLL и / или разместить глобальные файлы «.Tasks» в их установку Visual Studio?
ПРИМЕЧАНИЕ. Не существует типа содержимого VSIX для задач MSBuild, способ существует для элементов и шаблонов проектов. Я попробовал «vs Package», «MEF компонент» и «пользовательский тип расширения» - и никто не работает.
Решение
Я не верю, что вы можете сделать это, поскольку пакеты VSIX не могут устанавливать файлы в произвольных местах, а задача MSBuild должна будет пойти в папку MSBUILD.