msbuild: пункт контекстного меню «compile» для Custom Build Action в Visual Studio 2010 (в проекте C ++) - PullRequest
5 голосов
/ 06 марта 2011

Я добавил новую цель сборки в свой проект Visual Studio C ++ (vcxproj).
Эта цель запускает пользовательский инструмент при сборке проекта.Инструмент обрабатывает определенные файлы в решении в соответствии с указанными ContentType и ItemType I.Это хорошо работает с действиями проекта, такими как «Сборка» и «Очистка».

Теперь я хотел бы поддержать действие, эквивалентное «компиляции», то есть щелкнуть правой кнопкой мыши файл в обозревателе решений и выбрать обработкуэтот конкретный файл с моим пользовательским инструментом (так же, как «compile» запускает «CL» для типов файлов «C / C ++ Code»).

Я знаю, что мог бы добавить макрос Visual Studio для этого.Это не очень хорошее решение для меня, потому что его сложнее развернуть для многих пользователей.Лучшее решение - настроить vcxproj (или импортированные им файлы).
Интересно, возможно ли добавить в меню действие, подобное «компиляции» (или изменить поведение «компилировать» для типов файлов, отличных от «C»)?/ C ++ Code ") с помощью сценариев целей msbuild или PropertyPageSchema.

ОБНОВЛЕНИЕ: я начал обсуждение на форуме MSDN.Получил некоторые ответы от модератора Microsoft, который помог прояснить некоторые вещи, но проблема все еще не решена.


ОБНОВЛЕНИЕ (2016), для VS2015

AvailableItemName, кажется, решает эту проблемуна VS2015.Например, у меня есть пользовательская цель для обработки файлов Excel.

В файле целей:

  <ItemGroup>
    <PropertyPageSchema Include="$(SolutionDir)\ExcelOptions.xml" />
  </ItemGroup>

  <ItemGroup>
    <AvailableItemName Include="Excel">
      <Targets>ProcessExcel</Targets>
    </AvailableItemName>
  </ItemGroup>

В файле параметров:

  <FileExtension Name=".xls"  ContentType="Excel"/>
  <ContentType   Name="Excel" DisplayName="Excel File" ItemType="Excel"/>
  <ItemType      Name="Excel" DisplayName="Excel File"/>

Теперь Компиляция доступна в контекстном меню обозревателя решений.после выбора файла Excel, и CTRL-F7 также работает (для файлов, которые можно редактировать в VS, а не для файлов Excel)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...