Как изменить код возврата в событиях Visual Studio Build - PullRequest
8 голосов
/ 27 октября 2011

Можно ли изменить код возврата (я думаю, он также называется errorlevel) команды, представленной в событиях сборки Visual Studio?

Я запускаю команду taskkill /F /IM MyApp.vshost.exe, и я хотел бы, чтобы эта команда возвращала 0, когда она фактически возвращает 128.

Ответы [ 3 ]

14 голосов
/ 27 октября 2011

Перенаправить весь вывод во временный файл и выйти с кодом 0 в командном файле.Это будет эффективно игнорировать любые ошибки из taskkill:

killit.bat:

taskkill /F /IM MyApp.vshost.exe > %temp%\out.txt 2>&1
exit /B 0

Теперь вызывайте killit.bat в событии сборки. После того, как Хеге опубликовал свой ответ, я решил, что вставка кода из пакетного файла в событие сборки также должна работать, поскольку, насколько я понимаю, события сборки в VC всегда выполняются в командной строке в любом случае.И действительно,

taskkill /F /IM MyApp.vshost.exe > %temp%\out.txt 2>&1 || exit /B 0

как событие сборки также работает.Перенаправление все еще требуется, хотя.

2 голосов
/ 28 октября 2011

Попробуйте taskkill /F /IM MyApp.vshost.exe || exit /b 0.

1 голос
/ 20 марта 2015

Как видно здесь в комментарии к принятому ответу:
Решить «Команда« taskkill / F / IM MyApp.vshost.exe »вышла с кодом 128« ошибка

* 1005 »*taskkill /F /IM MyApp.vshost.exe /fi "pid gt 0"

taskkill с фильтром не возвращает ошибок.

...