NMake - свойство "Clean Command Line" при чистой сборке / перестройке - PullRequest
0 голосов
/ 05 июня 2018

У меня есть проект NMake, для которого в «Чистая командная строка» установлено свойство команды, позволяющее удалить все элементы из папки /Release проекта.

Я использую опцию TFS для clean build, которая выполняет /t:clean в качестве параметра MSBuild.

Проблема заключается в том, что TFS сначала пытается удалить содержимое /Release папка, такой папки и файлов нет, и она выдает ошибку и нарушает сборку.

Есть ли что-то, что я мог бы использовать, чтобы пропустить эту ошибку, не нарушая сборку или способ проверить, если папкасуществует или нет, чтобы он мог передавать или удалять содержимое?

Спасибо!

РЕДАКТИРОВАТЬ: В свойствах проекта есть тег <NMakeCleanCommandLine>, который имеет параметр Condition, но я незнаете, как с этим работать?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Мне действительно удалось решить эту проблему, проверив из свойства проекта Clean Command Line параметр, существует ли папка \Release, используя $(MSBuildProjectDirectory) в качестве относительного пути.

Затем команда:

IF EXIST "$(MSBuildProjectDirectory)\Release\" del "$(MSBuildProjectDirectory)\Release\*.*"

можно решить использовать $(Configuration) вместо \Release для нацеливания на конфигурации сборки.

0 голосов
/ 06 июня 2018

На стороне TFS можно добавить задачу Powersell перед чистой задачей, чтобы проверить, существует ли папка /Release, если она существует, а затем запустить чистую задачу, если она не существует,пропустить чистое задание.

...