Как получить папку моего расширения vsix и использовать это значение для вставки в файлы некоторых шаблонов проекта? - PullRequest
1 голос
/ 07 октября 2010

Мое расширение VSIX имеет шаблоны проектов с пользовательским файлом проекта.Этот файл содержит ссылку на мой .targets файл, который устанавливается как часть расширения VSIX (поэтому он находится в папке моего расширения).Моя проблема в том, что я не могу найти переменную, которая указывает путь расширений VS, который необходим для поиска цели для файла проектов.

Если все еще есть что-то вроде:

<Import Project="$(VSExtensionsPath)\MyCompany\MyExtension\MyLang.targets" />

это было бы здорово.

Если нет, есть ли другой способ?Может быть, я могу запустить скрипт во время установки vsix?

Ответы [ 2 ]

1 голос
/ 28 апреля 2013
<Import Project="$([System.IO.Directory]::GetFiles($([System.IO.Path]::Combine($([System.Environment]::GetFolderPath(SpecialFolder.LocalApplicationData)), `Microsoft\VisualStudio\11.0\Extensions`)), `Your.targets`, System.IO.SearchOption.AllDirectories))" />
0 голосов
/ 08 октября 2010

Нет, пользовательские цели MSBuild не поддерживаются в VSIX в VS 2010. Невозможно выполнить «пользовательское действие» во время установки VSIX.

Одним из возможных решений (хотя может и не подходить для вашей ситуации) было бы включение целей непосредственно в шаблон файла проекта.

Если это невозможно, к сожалению, вы не сможете использовать VSIX для развертывания своего расширения.

...