Task 요소에서 참조되는 작업을 작업 구현이 포함된 어셈블리에 매핑합니다.
<Project><UsingTask>
문법
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
비고
속성 및 항목과 달리 a에 적용되는 UsingTaskTaskName 요소가 사용됩니다. 작업을 재정의하려면 기존 요소UsingTask 새 요소를 정의하거나 새 Override="true"요소를 지정 UsingTask 해야 합니다.
특성 및 요소
다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
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 |
선택적 특성입니다. 태스크가 실행되어야 하는 런타임을 지정합니다. 현재 MSBuild 프로세스가 요구 사항을 충족하지 않는 경우 태스크는 작업 호스트 프로세스에서 실행됩니다. 지원되는 값은 CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 이상), CurrentRuntimeNET (.NET) 및 * (모든 런타임)입니다.
Runtime="NET" 는 MSBuild 18.0(.NET SDK 10/Visual Studio 2026)부터 지원되며 현재 사용 Microsoft.NET.Sdk중인 프로젝트에만 지원됩니다.
dotnet build (MSBuild의 .NET 버전)은 작업을 실행할 CLR2/CLR4 수 없습니다. |
TaskFactory |
선택적 특성입니다. 지정된 Task 이름의 인스턴스 생성을 담당하는 어셈블리의 클래스를 지정합니다. 사용자는 작업 팩터리에서 태스크를 Task 수신하고 작업을 생성하는 데 사용하는 자식 요소로 지정할 수도 있습니다. 해당 내용은 Task 작업 팩터리에 따라 다릅니다. 기본값 TaskFactory 은 AssemblyTaskFactory실행 중인 프로세스에 태스크를 로드하는 것입니다. |
TaskName |
필수 특성입니다. 어셈블리에서 참조할 작업의 이름입니다. 모호성이 가능한 경우 이 특성은 항상 전체 네임스페이스를 지정해야 합니다. 모호성이 있는 경우 MSBuild는 임의의 일치 항목을 선택하여 예기치 않은 결과를 생성할 수 있습니다. |
Condition |
선택적 특성입니다. 평가할 조건입니다. 자세한 내용은 조건을 참조하세요. |
자식 요소
| 요소 | Description |
|---|---|
| ParameterGroup | 지정된 TaskFactory에 의해 생성되는 작업에 표시되는 매개 변수 집합입니다. |
| 과업 | 태스크의 인스턴스를 생성하기 위해 TaskFactory 전달되는 데이터입니다. |
부모 요소
| 요소 | Description |
|---|---|
| 프로젝트 | MSBuild 프로젝트 파일의 필수 루트 요소입니다. |
비고
직접 또는 가져온 프로젝트 파일을 통해 프로젝트 파일에 포함된 요소에서 UsingTask 환경 변수, 명령줄 속성, 프로젝트 수준 속성 및 프로젝트 수준 항목을 참조할 수 있습니다. 자세한 내용은 작업참조하세요.
비고
요소가 MSBuild 엔진에 전역적으로 등록된 UsingTask 파일 중 하나에서 오는 경우 프로젝트 수준 속성 및 항목은 의미가 없습니다. 프로젝트 수준 값은 MSBuild에 전역적이지 않습니다.
MSBuild 4.0에서 작업 사용은 파일에서 .overridetask 로드할 수 있습니다.
사용자 지정 작업을 포함하는 어셈블리는 처음 사용될 때 Task 로드됩니다.
예제 1
다음 예제에서는 특성과 함께 UsingTask 요소를 사용하는 AssemblyFile 방법을 보여 있습니다.
<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>