msbuild失败,成功的robocopy退出代码

zam*_*tex 5 msbuild robocopy

即使复制文件成功,我的msbuild脚本也会失败。如果robocopy命令exitcode <8,则表示文件已复制。那么,如果退出代码<8,我该如何对msbuild脚本IgnoreExitCode说呢?我将IgnoreExitCode设置为true,但是如果它是真正的错误怎么办?

<Exec Command="robocopy  $(SourceDir) $(DestinationDir) /mir /mt /xd $(ExcludeDir)" IgnoreExitCode="true" />
Run Code Online (Sandbox Code Playgroud)

Nik*_*ker 5

使用Exec任务的ExitCode输出参数和ContinueOnError参数代替IgnoreExitCode

<Exec ContinueOnError="True" Command="robocopy  $(SourceDir) $(DestinationDir) /mir /mt /xd $(ExcludeDir)">
   <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
</Exec>
<Error Condition="$(ErrorCode) &gt; 8" Message="Robocopy failed"/>
Run Code Online (Sandbox Code Playgroud)


Ant*_*lev 4

尝试这个解决方法

(robocopy  $(SourceDir) $(DestinationDir) /mir /mt /xd $(ExcludeDir)) ^& IF %ERRORLEVEL% LEQ 1 exit 0
Run Code Online (Sandbox Code Playgroud)