Build Events에 robocopy 작업이 있는 경우 "VCEnd exited with code 3" 오류 발생
예를 들어, Visual C++ 프로젝트의 Post-Build Event에 다음과 같은 복사 명령어를 연결한 경우,
robocopy $(OutputPath) \\192.168.10.5\temp
이런 에러가 발생하면서 빌드 실패를 알립니다.
Error 1 error MSB3073: The command "robocopy E:\temp\x64\Debug\ \\192.168.10.5\temp
:VCEnd" exited with code 3. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets
검색해 보면,
Post-Build Event VS 2010 “Fails”, but really doesn't
; http://stackoverflow.com/questions/11353029/post-build-event-vs-2010-fails-but-really-doesnt
robocopy의 에러 코드 반환값에 문제가 있음을 알 수 있습니다. 그러고 보니 예전에 robocopy의 반환값을 알아봤던 것이 생각나는군요. ^^
Robocopy 오류 및 종료 코드
; https://www.sysnet.pe.kr/2/0/1187
따라서, 간단하게는 다음과 같이 강제 성공으로 알리거나,
robocopy $(OutputPath) \\192.168.10.5\temp
exit 0
조금 더 부드럽게는 상황에 맞게 반환값 처리를 하면 됩니다.
robocopy $(OutputPath) \\192.168.10.5\temp
if %ERRORLEVEL% GEQ 8 goto TaskError
exit 0
:TaskError
exit 1
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]