Я установил событие предварительной сборки в MSVC13, которое завершается с error MSB3073: :VCEnd" exited with code -1.
. И я не могу обойти эту ошибку, я не хочу, чтобы процесс сборки останавливался, даже если файл bat завершился с ошибкой.
Я настроил
BuildEvents> Событие перед сборкой
с вызовом командной строки bat-файла:
вызовите $ (ProjectDir) \ pre_build.bat $ (Configuration) = 1
Этот файл bat содержит 2 обращения к другим файлам bat. Первый выход с ошибкой (но меня не волнует, что подзадача, которую я хочу, выполнена), а второй - в порядке.
В pre-build.bat я попытался перехватить эту ошибку и обновить значение, чтобы сказать, что с MSVC все в порядке, но мне это не удалось. Я попытался отобразить ERRORLEVEL, но он содержит 0. Я попытался установить ERRORLEVEL на 0, но ничего не меняет на уровне MSVC. Я попытался добавить exit 0, exit / b 0 или @exit 0 в конец моего файла bat, но не изменилось.
Я нашел эту ссылку (https://blogs.msdn.microsoft.com/astebner/2006/08/08/how-to-make-visual-studio-2005-ignore-return-codes-from-pre-build-events/), объясняющий, как указать MSVC игнорировать ошибки, но он не работает, поскольку он написан для MSVC2005, а синтаксис PreBuildEvent в vcxproj изменился.
Если я запустил свой скрипт в консоли, он выйдет с ошибкой, но, как было сказано ранее, меня не волнует эта ошибка, часть работы выполнена.
Я также пытаюсь запустить MSVC от имени администратора, без изменений.
Содержимое моего pre-build.bat:
вызовите build.bat% * TOOLCHAIN = mdk4cc5 TC_NO_CHECK = 1
и build.bat запускает SCons (у меня нет никаких знаний о SCons)
Если у вас есть идея, как игнорировать эту ошибку в MSVC, чтобы продолжить процесс сборки (независимо от того, чистая она или нет), это будет очень полезно, поскольку я уже потратил на это день ...
Большое спасибо за ваши отзывы и ответы.
call
, потому что вам особенно нужен второй пакетный процесс? - person Jose Fernando Lopez Fernandez   schedule 11.04.2019MSB3073
. Тогда будет понятно, почему сборка вашего решения завершается немедленно, а не продолжает то, что она может. - person Jose Fernando Lopez Fernandez   schedule 11.04.2019