Практическое руководство. Изменение свойств и целевых объектов проекта C++ без изменения файла проекта

Вы можете переопределить свойства проекта и целевые объекты из командной строки MSBuild, не изменяя файл проекта. Это удобно в том случае, если вы хотите применять некоторые свойства лишь временно или периодически. Для этого нужно обладать некоторыми знаниями о MSBuild. Дополнительные сведения см. в разделе MSBuild.

Важно!

Для создания файла PROPS или TARGETS можно использовать редактор XML в Visual Studio или любой текстовый редактор. Не используйте диспетчер свойств в этом сценарии, так как он добавляет свойства в файл проекта.

Переопределение свойств проекта

  1. Создайте файл, указывающий .props свойства, которые необходимо переопределить.

  2. В командной строке: set ForceImportBeforeCppTargets="C:\sources\my_props.props"

Переопределение целевых объектов проекта

  1. .targets Создание файла с их реализацией или определенным целевым объектом

  2. В командной строке: set ForceImportAfterCppTargets ="C:\sources\my_target.targets"

Вы также можете задать любой параметр в командной строке msbuild с помощью /p: этого параметра:

msbuild myproject.sln /p:ForceImportBeforeCppTargets="C:\sources\my_props.props"
msbuild myproject.sln /p:ForceImportAfterCppTargets="C:\sources\my_target.targets"

Переопределение свойств и целевых объектов таким образом эквивалентно добавлению следующих импортов ко всем .vcxproj файлам в решении:

<Import Project="C:\sources\my_props.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="C:\sources\my_target.targets" />