방법: 작업의 오류 무시How to: Ignore Errors in Tasks

경우에 따라 빌드에서 특정 작업의 폴트 발생을 허용하고자 합니다.Sometimes you want a build to be tolerant of faults in certain tasks. 중요하지 않은 작업이 실패할 경우 필요한 출력이 계속 생성될 수 있으므로 빌드를 계속 진행하고자 합니다.If those non-critical tasks fail, you want the build to continue because it can still produce the required output. 예를 들어 각 구성 요소가 빌드된 후 프로젝트에서 SendMail 작업을 사용하여 전자 메일 메시지를 보낸다면 메일 서버를 사용할 수 없고 상태 메시지를 보낼 수 없는 경우에도 완료될 때까지 빌드를 진행하도록 허용할 수 있습니다.For example, if a project uses a SendMail task to send an e-mail message after each component is built, you might consider it acceptable for the build to proceed to completion even when the mail servers are unavailable and the status messages cannot be sent. 또는 예를 들어 일반적으로 빌드 중에 중간 파일이 삭제된다면 해당 파일을 삭제할 수 없는 경우에도 완료될 때까지 빌드를 진행하도록 허용할 수 있습니다.Or, for example, if intermediate files are usually deleted during the build, you might consider it acceptable for the build to proceed to completion even when those files cannot be deleted.

ContinueOnError 특성 사용Using the ContinueOnError Attribute

Task 요소의 ContinueOnError 특성은 작업 실패가 발생할 경우 빌드를 중지하거나 계속할지 여부를 제어합니다.The ContinueOnError attribute of the Task element controls whether a build stops or continues when a task failure occurs. 이 특성은 빌드를 계속할 경우 오류를 오류 또는 경고로 처리할지 여부를 제어합니다.This attribute also controls whether errors are treated as errors or warnings when the build continues.

ContinueOnError 특성은 다음 값 중 하나를 포함할 수 있습니다.The ContinueOnError attribute can contain one of the following values:

  • WarnAndContinue 또는 true.WarnAndContinue or true. 작업이 실패할 경우 Target 요소의 후속 작업과 빌드가 계속 실행되고 작업에서 발생한 모든 오류가 경고로 처리됩니다.When a task fails, subsequent tasks in the Target element and the build continue to execute, and all errors from the task are treated as warnings.

  • ErrorAndContinue.ErrorAndContinue. 작업이 실패할 경우 Target 요소의 후속 작업과 빌드가 계속 실행되고 작업에서 발생한 모든 오류가 오류로 처리됩니다.When a task fails, subsequent tasks in the Target element and the build continue to execute, and all errors from the task are treated as errors.

  • ErrorAndStop 또는 false(기본값).ErrorAndStop or false (default). 작업이 실패할 경우 Target 요소의 나머지 작업이 실행되지 않고 전체 Target 요소와 빌드가 실패한 것으로 간주됩니다.When a task fails, the remaining tasks in the Target element and the build aren't executed, and the entire Target element and the build is considered to have failed.

    .NET Framework 4.5 이전 버전은 truefalse 값만 지원합니다.Versions of the .NET Framework before 4.5 supported only the true and false values.

    ContinueOnError의 기본값은 ErrorAndStop입니다.The default value of ContinueOnError is ErrorAndStop. 특성을 ErrorAndStop으로 설정하면 프로젝트 파일을 읽는 모든 사용자에게 동작이 명시적으로 제시됩니다.If you set the attribute to ErrorAndStop, you make the behavior explicit to anyone who reads the project file.

작업의 오류를 무시하려면To ignore an error in a task

  • 작업의 ContinueOnError 특성을 사용합니다.Use the ContinueOnError attribute of the task. 예:For example:

    <Delete Files="@(Files)" ContinueOnError="WarnAndContinue"/>

예제Example

다음 코드 예제에서는 Delete 작업이 실패하더라도 Build 대상이 계속 실행되고 빌드가 성공한 것으로 간주됨을 보여 줍니다.The following code example illustrates that the Build target still runs and the build is considered a success, even if the Delete task fails.

<Project DefaultTargets="FakeBuild"  
    xmlns="http://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>  

참고 항목See Also

MSBuildMSBuild
작업 참조 Task Reference
작업Tasks