Создание расширения VSIX для проекта C ++ в решении - PullRequest
0 голосов
/ 18 марта 2020

В настоящее время у меня есть 2 отдельных решения для моего проекта C ++ и для C# расширения VSIX. Я экспортирую свой шаблон проекта C ++ в виде архива .zip, а в решении расширения VSIX добавляю его как файловый ресурс. Работает нормально, но мне нужно все время обрабатывать .zip вручную. Чтобы избежать этого, я попытался объединить проекты (C ++ + VSIX) в одно решение, и вместо добавления файлового ресурса я попытался добавить ресурс проекта, выбрав свой проект C ++. Проблема в том, что не работает, проект VSIX выдает ошибку при попытке его скомпилировать: «ошибка MSB4057: нет цели« TemplateProjectOutputGroup ».» и я не нашел ничего описывающего, как именно это должно быть сделано.

VS2019 Community.

1 Ответ

1 голос
/ 09 апреля 2020

Вам действительно нужно только одно решение, содержащее несколько проектов.

Способ, которым я делал это в прошлом, состоял в том, чтобы сначала создать пустой .VSIX-проект (который будет использоваться для развертывания шаблонов).

Затем добавьте новые проекты "C# Project Template" и измените их, чтобы создать проект C ++ вместо проекта C#. Обратите внимание, что основной файл .csproj по-прежнему выполняет проект Template Project C#, но полезные данные шаблонов (.vcxproj, .h,. cpp, et c добавляются, а файлы C# удаляются. Так что Конечным результатом является то, что шаблон создал проект C ++ вместо проекта C#.

Эти проекты шаблонов проектов будут генерировать файлы .zip, которые затем могут быть добавлены в ваш проект .VSIX, сначала путем ссылки на проект. Проекты шаблонов (так называемые ссылки на проект на проект), а затем редактирование vsixmanifest для включения вывода ссылочного проекта (zip-файла) в качестве ресурса.

Я написал запись в блоге об этом несколько лет назад. , это делает это. Хотя основное внимание было уделено пользовательскому мастеру, используемому для установки версии Windows SDK, для результирующего проекта C ++, созданного с шаблоном. В статье кода также есть ссылка на исходный код, который может оказаться полезным за дополнительными указаниями.

Создание шаблона проекта VSIX Deployable C ++

С уважением,

...