방법: 작업의 오류 무시
빌드에서 특정 작업의 오류를 무시하도록 해야 하는 경우가 있습니다.즉 중요하지 않은 작업이 실패하더라도 필요한 출력이 생성될 수 있으므로 빌드를 계속하도록 만들 수 있습니다.예를 들어, 각 구성 요소가 빌드된 후에 프로젝트에서 SendMail 작업을 사용하여 전자 메일 메시지를 보내는 경우, 메일 서버를 사용할 수 없고 상태 메시지를 보낼 수 없더라도 빌드가 완료되도록 허용하는 것을 고려할 수 있습니다.또는, 빌드되는 동안 중간 파일이 일반적으로 삭제되는 경우 그러한 파일을 삭제할 수 없더라도 빌드가 완료되도록 허용하는 것을 고려할 수 있습니다.
ContinueOnError 특성 사용
Task 요소의 ContinueOnError 특성은 작업 오류가 발생할 경우 빌드를 중지할 것인지 계속할 것인지 제어합니다.이 특성은 오류 또는 경고로 빌드를 계속 하는 경우 오류로 처리 하는지 여부를 제어 합니다.
ContinueOnError 특성은 다음 값 중 하나를 포함할 수 있습니다.
WarnAndContinue 또는 true.작업이 실패할 경우, 후속 작업에서의 대상 요소와 빌드를 계속 실행 하 고 작업의 모든 오류가 경고로 처리 됩니다.
ErrorAndContinue.작업이 실패할 경우, 후속 작업에는 Target 요소와 빌드를 계속 실행 하 고 작업의 모든 오류를 오류로 처리 합니다.
ErrorAndStop 또는 false (기본값).작업이 실패할 경우, 나머지 작업을는 Target 되지 않는 요소 및 빌드 실행 및 전체 Target 요소와 빌드는 실패 한 것으로 간주 합니다.
버전 4.5 에서만 지원 하기 전에.NET Framework true 및 false 값입니다.
ContinueOnError의 기본값은 ErrorAndStop입니다.특성을 설정는 경우 ErrorAndStop, 사용자 동작을 프로젝트 파일을 읽는 모든 사람이 명확히 합니다.
작업의 오류를 무시하려면
작업의 ContinueOnError 특성을 사용합니다.예를 들면 다음과 같습니다.
<Delete Files="@(Files)" ContinueOnError="WarnAndContinue"/>
예제
다음 코드 예제에서는 Delete 작업이 실패하더라도 Build 대상이 계속 실행되어 빌드가 성공으로 간주되는 것을 보여 줍니다.
<Project DefaultTargets="FakeBuild"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Files Include="*.obj"/>
</ItemGroup>
<Target Name="Clean">
<Delete Files="@(Files)" ContinueOnError="WarnAndContinue"/>
</Target>
<Target Name="FakeBuild" DependsOnTargets="Clean">
<Message Text="Building after cleaning..."/>
</Target>
</Project>