다음을 통해 공유


CallTarget 작업

프로젝트 파일 내의 지정된 대상을 호출합니다.

작업 매개 변수

다음 표에서는 CallTarget 작업의 매개 변수에 대해 설명합니다.

매개 변수 설명
RunEachTargetSeparately 선택적 Boolean 입력 매개 변수입니다.

true인 경우 MSBuild 엔진이 대상마다 한 번씩 호출됩니다. false인 경우 MSBuild 엔진이 한 번씩 호출되어 모든 대상을 빌드합니다. 기본값은 false입니다.
TargetOutputs 선택적 ITaskItem[] 출력 매개 변수입니다.

빌드된 모든 대상의 출력을 포함합니다.
Targets 선택적 String[] 매개 변수입니다.

빌드할 대상을 지정합니다.
UseResultsCache 선택적 Boolean 매개 변수입니다.

true인 경우 캐시된 결과(있는 경우)가 반환됩니다.

참고 MSBuild 작업이 실행되면 해당 출력은 (ProjectFileName, GlobalProperties)[TargetNames] 범위에 빌드 항목의 목록으로 캐시됩니다.

설명

Targets에 지정된 대상이 실패하고 RunEachTargetSeparatelytrue인 경우 작업이 나머지 대상을 계속 빌드합니다.

기본 대상을 빌드하려는 경우 MSBuild 작업을 사용하고 $(MSBuildProjectFile)와 동일한 Projects 매개 변수를 설정합니다.

CallTarget을 사용하는 경우 MSBuild는 호출이 발생한 동일 범위가 아니라 새 범위에서 호출된 대상을 평가합니다. 즉, 호출된 대상의 모든 항목 및 속성 변경 내용이 호출이 발생한 대상에 표시되지 않습니다. 호출이 발생한 대상에 정보를 전달하려면 TargetOutputs 출력 매개 변수를 사용합니다.

이 작업은 위에 나와 있는 매개 변수 외에 Task 클래스에서 직접 상속하는 TaskExtension 클래스의 매개 변수도 상속합니다. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 TaskExtension 기본 클래스를 참조하세요.

예시

다음 예제에서는 CallOtherTargets 내에서 TargetA를 호출합니다.

<Project DefaultTargets="CallOtherTargets"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <Target Name="CallOtherTargets">
        <CallTarget Targets="TargetA"/>
    </Target>

    <Target Name="TargetA">
        <Message Text="Building TargetA..." />
    </Target>

</Project>

참고 항목