Member 12658724 Ответов: 3

После построения кода выхода Ошибка 1


У меня есть скрипт на событие после построения.
copy /y "$(SolutionDir)Libs\MotionDetect.dll" "$(SolutionDir)$(ConfigurationName)"
call editbin.exe /LARGEADDRESSAWARE SER.EXE > recpost.txt
call dumpbin.exe /HEADERS SER.EXE > recpost1.txt


Я не знаю, что случилось.

Но я получаю
exited with code 1


Что я уже пробовал:

может быть, добавить цитату, но не уверен, стоит ли добавлять цитату вокруг "editbin.exe"

Richard MacCutchan

Журнал событий сборки должен находиться в одном из каталогов проекта, а также отображаться в окне вывода во время сборки.

3 Ответов

Рейтинг:
24

Jochen Arndt

Вероятно, одна из выполненных команд возвращает ненулевой код.

К сожалению нет никакой документации для кодов возврата инструментов VS но вы можете проверить их с помощью консоли VS или распечатав их на этапе сборки:

copy /y "$(SolutionDir)Libs\MotionDetect.dll" "$(SolutionDir)$(ConfigurationName)"
echo %ERRORLEVEL%
call editbin.exe /LARGEADDRESSAWARE SER.EXE > recpost.txt
echo %ERRORLEVEL%
call dumpbin.exe /HEADERS SER.EXE > recpost1.txt
echo %ERRORLEVEL%
Если вы хотите игнорировать ошибки, просто сбросьте errorlevel после команды:
SET ERRORLEVEL=0


Рейтинг:
2

CLN77

У меня была похожая проблема.
Мое решение состояло в том, чтобы добавить

MKDIR "$(SolutionDir)$(ConfigurationName)"

перед копией.


Рейтинг:
2

Quellkot

1. Все коды меньше 8 не successcodes
2. Код 1 означает "успешно скопировано"
3. по какой-то причине моя visual studio всегда бросала "код 1" в качестве исключения, что является ерундой
4. я должен был исправить это, просто добавив следующую строку в конце:
выход 0

Надеюсь, я смогу помочь.
@Microsoft... если вы читаете это... но почему?! зачем использовать коды успеха, если вы просто относитесь к ним как к ошибкам?!


Richard MacCutchan

Это неверно, код выхода 1 создается при сбое копирования. Когда это удается, код выхода равен 0.