MSBuild: переопределить путь к файлу .user - PullRequest
3 голосов
/ 24 марта 2011

У нас есть много стандартных .vcxproj файлов, которые мы используем для сборки MSBuild. Для определенных свойств и целей нам нужен файл .vcxproj.user, чтобы переопределить свойства, относящиеся к выполняемой сборке.

Чтобы использовать тот же процесс сборки в среде разработки, что и на машине сборки, мы хотели бы указать путь к .vcxproj.user в качестве другого каталога для файла .vcxproj, чтобы процесс сборки мог генерировать файл, который ему нужен, в отдельном каталоге, не нарушая собственных настроек пользователя.

Я нашел очень мало документации о том, где msbuild ищет файл .user, или если вообще возможно указать путь?

1 Ответ

4 голосов
/ 24 марта 2011

Путь * .user файл для проектов cpp указан в C: \ Program Files \ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.Cpp.Default.props

    <MSBuildAllProjects Condition="Exists('$(MSBuildProjectFullPath).user')">$(MSBuildAllProjects);$(MSBuildProjectFullPath).user</MSBuildAllProjects>

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

Для изменения процесса сборки вы можете использовать CustomBeforeMicrosoftCommonTargets . Вы можете создать свой собственный файл * .targets, который будет импортировать специальные свойства / цели, изменять процесс сборки для выполнения некоторых действий предварительной обработки и так далее. Я написал пример для AfterTargets здесь . Все, что вам нужно, это реализовать собственную логику сборки и изменить регистрацию на BeforeTargets.

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