다음을 통해 공유


UsingTask 요소(MSBuild)

Task 요소에서 참조되는 작업을 작업 구현이 포함된 어셈블리에 매핑합니다.

<Project><UsingTask>

문법

<UsingTask TaskName="TaskName"
    AssemblyName = "AssemblyName"
    TaskFactory = "ClassName"
    Condition="'String A'=='String B'" />

비고

속성 및 항목과 달리 a에 TaskName 적용되는 첫 번째UsingTask 요소가 사용됩니다. 작업을 재정의하려면 기존 요소보다 먼저UsingTask 요소를 정의하거나 새 UsingTask요소를 지정 Override="true" 해야 합니다.

특성 및 요소

다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

Attributes

특성 Description
Architecture 선택적 특성입니다.

지정된 비트의 프로세스에서 태스크를 실행해야 함을 지정합니다. 현재 프로세스가 요구 사항을 충족하지 않으면 태스크가 수행되는 태스크 호스트 프로세스에서 실행됩니다.

지원되는 값은 x86 (32비트), x64 (64비트) CurrentArchitecture* (모든 아키텍처)입니다.
AssemblyName AssemblyName 특성 또는 특성이 AssemblyFile 필요합니다.

로드할 어셈블리의 이름입니다. 강력한 명명이 필요하지는 않지만 특성은 AssemblyName 강력한 이름의 어셈블리를 허용합니다. 이 특성을 사용하는 것은 .NET에서 메서드를 사용하여 어셈블리를 Load 로드하는 것과 같습니다.

특성을 사용하는 경우 AssemblyFile 이 특성을 사용할 수 없습니다.
AssemblyFile AssemblyName 특성 또는 AssemblyFile 특성이 필요합니다.

어셈블리의 파일 경로입니다. 이 특성은 전체 경로 또는 상대 경로를 허용합니다. 상대 경로는 요소가 선언된 프로젝트 파일 또는 대상 파일 UsingTask 의 디렉터리를 기준으로 합니다. 이 특성을 사용하는 것은 .NET에서 메서드를 사용하여 어셈블리를 LoadFrom 로드하는 것과 같습니다.

특성을 사용하는 경우 AssemblyName 이 특성을 사용할 수 없습니다.
Override 선택적 특성입니다.

UsingTask 요소는 동일한 작업 이름을 정의하는 다른 요소보다 우선 순위가 높아야 하며 작업 이름당 하나의 재정의만 허용됩니다. MSBuild 17.2에 추가되었습니다.
Runtime 선택적 특성입니다.

지정된 버전의 .NET Framework 런타임에서 태스크를 실행해야 되도록 지정합니다. 현재 프로세스가 요구 사항을 충족하지 않으면 태스크가 수행되는 태스크 호스트 프로세스에서 실행됩니다.

지원되는 값은 'NET'(.NET Core 및 .NET 5 이상), CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 이상), CurrentRuntimeNET (.NET 10 이상에서 시작) 및 * (모든 런타임)입니다. MSBuild 18.0(Visual Studio 2026 이상) 또는 .NET SDK 10 이상을 사용하는 경우에만 .NET Framework MSBuild를 실행하는 경우에만 런타임 작업을 호출 NET 할 수 있으며 .NET MSBuild(실행 중인 dotnet build경우)에서 CLR2/CLR4 작업을 호출할 수 없습니다.
TaskFactory 선택적 특성입니다.

지정된 Task 이름의 인스턴스 생성을 담당하는 어셈블리의 클래스를 지정합니다. 사용자는 작업 팩터리에서 태스크를 Task 수신하고 작업을 생성하는 데 사용하는 자식 요소로 지정할 수도 있습니다. 해당 내용은 Task 작업 팩터리에 따라 다릅니다. 기본값 TaskFactoryAssemblyTaskFactory실행 중인 프로세스에 태스크를 로드하는 것입니다.
TaskName 필수 특성입니다.

어셈블리에서 참조할 작업의 이름입니다. 모호성이 가능한 경우 이 특성은 항상 전체 네임스페이스를 지정해야 합니다. 모호성이 있는 경우 MSBuild는 임의의 일치 항목을 선택하여 예기치 않은 결과를 생성할 수 있습니다.
Condition 선택적 특성입니다.

평가할 조건입니다. 자세한 내용은 조건을 참조하세요.

자식 요소

요소 Description
ParameterGroup 지정된 TaskFactory에 의해 생성되는 작업에 표시되는 매개 변수 집합입니다.
과업 태스크의 인스턴스를 생성하기 위해 TaskFactory 전달되는 데이터입니다.

부모 요소

요소 Description
프로젝트 MSBuild 프로젝트 파일의 필수 루트 요소입니다.

비고

직접 또는 가져온 프로젝트 파일을 통해 프로젝트 파일에 포함된 요소에서 UsingTask 환경 변수, 명령줄 속성, 프로젝트 수준 속성 및 프로젝트 수준 항목을 참조할 수 있습니다. 자세한 내용은 작업참조하세요.

비고

요소가 MSBuild 엔진에 전역적으로 등록된 .tasks 파일 중 하나에서 오는 경우 UsingTask 프로젝트 수준 속성 및 항목은 의미가 없습니다. 프로젝트 수준 값은 MSBuild에 전역적이지 않습니다.

MSBuild 4.0에서 작업 사용은 파일에서 .overridetask 로드할 수 있습니다.

사용자 지정 작업을 포함하는 어셈블리는 처음 사용될 때 Task 로드됩니다.

예제 1

다음 예제에서는 특성과 함께 AssemblyFile 요소를 사용하는 UsingTask 방법을 보여 있습니다.

<UsingTask TaskName="Email"
           AssemblyFile="c:\myTasks\myTask.dll" />

지정된 빌드가 없거나 RuntimeTaskHost 지정되었으므로 작업은 지정된 빌드에 대해 실행되는 런타임 및 아키텍처에서 MSBuild 프로세스에서 실행됩니다.

예제 2

다음 예제에서는 특성 및 해당 어셈블리에 UsingTask 정의 된 AssemblyName 사용자 지정 TaskFactory 요소를 사용 하는 방법을 보여 있습니다.

<UsingTask TaskName="MyTask" AssemblyName="My.Assembly" TaskFactory="MyTaskFactory">
       <ParameterGroup>
              <Parameter1 ParameterType="System.String" Required="False" Output="False"/>
              <Parameter2 ParameterType="System.Int" Required="True" Output="False"/>
              ...
</ParameterGroup>
       <Task>
      ... Task factory-specific data ...
       </Task>
</UsingTask>

참고하십시오