다음을 통해 공유


방법: 작업의 오류 무시

빌드에서 특정 작업의 오류를 무시하도록 해야 하는 경우가 있습니다. 즉 중요하지 않은 작업이 실패하더라도 필요한 출력이 생성될 수 있으므로 빌드를 계속하도록 만들 수 있습니다. 예를 들어, 각 구성 요소가 빌드된 후에 프로젝트에서 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>

참고 항목

개념

MSBuild 작업

기타 리소스

MSBuild

MSBuild 작업 참조