2016-09-30 29 views
0

ファイルが正常にコピーされても、msbuildスクリプトが失敗します。 robocopyコマンドの終了コードが<の場合は、コピーされたファイルを意味します。だから、どのように終了コード< 8の場合は、msbuildスクリプトIgnoreExitCodeと言うことができますか? IgnoreExitCodeをtrueに設定しましたが、実際にエラーが発生した場合はどうなりますか?成功したrobocopy終了コードでmsbuildが失敗する

<Exec Command="robocopy $(SourceDir) $(DestinationDir) /mir /mt /xd $(ExcludeDir)" IgnoreExitCode="true" /> 

答えて

2

this workaroundをお試しください:

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

使用ExecのタスクとのContinueOnErrorパラメータの代わりに、IgnoreExitCodeEXITCODE出力パラメータ:

<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"/> 
関連する問題