UsingTask 요소(MSBuild)
Task 요소에서 참조하는 작업을 작업의 구현이 포함된 어셈블리에 매핑합니다.
<Project><UsingTask>
Syntax
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
참고 항목
속성 및 항목과 달리, a에 TaskName
적용되는 첫 번째 UsingTask
요소가 사용됩니다. 작업을 재정의하려면 기존 요소보다 먼저 새 UsingTask
요소를 정의하거나 새 UsingTask
요소를 지정 Override="true"
해야 합니다.
특성 및 요소
다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 | 설명 |
---|---|
Architecture |
선택적 특성입니다. 작업이 지정된 비트 수의 프로세스에서 실행되도록 지정합니다. 현재 프로세스가 요구 사항을 충족하지 않으면 작업이 요구 사항을 충족하는 작업 호스트 프로세스에서 실행됩니다. 지원되는 값은 x86 (32비트), x64 (64비트), CurrentArchitecture 및 * (모든 아키텍처)입니다. |
AssemblyName |
AssemblyName 특성 또는 AssemblyFile 특성이 필요합니다.로드할 어셈블리의 이름입니다. AssemblyName 특성에서는 강력한 이름의 어셈블리를 허용하지만 필수적 요소는 아닙니다. 이 특성을 사용하면 .NET Framework에서 Load 메서드를 사용하여 어셈블리를 로드하는 것과 같은 결과를 얻을 수 있습니다.AssemblyFile 특성을 사용하는 경우에는 이 특성을 사용할 수 없습니다. |
AssemblyFile |
AssemblyName 또는 AssemblyFile 특성이 필요합니다.어셈블리의 파일 경로입니다. 이 특성에는 전체 경로 또는 상대 경로를 모두 사용할 수 있습니다. 상대 경로는 UsingTask 요소가 선언된 대상 파일이나 프로젝트의 디렉터리를 기준으로 합니다. 이 특성을 사용하면 .NET Framework에서 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 이상), CurrentRuntime 및 * (모든 런타임)입니다. .NET Framework(CLR4) MSBuild를 실행할 때는 NET 작업을 호출할 수 없으며 .NET MSBuild에서 CLR2/CLR4 작업을 호출할 수 없습니다(dotnet build 를 실행 중인 경우). |
TaskFactory |
선택적 특성입니다. 지정된 Task 이름의 인스턴스 생성을 담당하는 어셈블리에 클래스를 지정합니다. 사용자는 또한 작업 팩터리가 수신해서 작업을 생성하는 데 사용하는 하위 요소로 Task 를 지정할 수 있습니다. Task 의 내용은 작업 팩터리에만 해당합니다. 기본값 TaskFactory 은 AssemblyTaskFactory 실행 중인 프로세스에 태스크를 로드하는 것입니다. |
TaskName |
필수 특성입니다. 어셈블리에서 참조할 작업의 이름입니다. 모호성이 발생할 가능성이 있으면 이 특성에 항상 전체 네임스페이스를 지정해야 합니다. 모호성이 있으면 MSBuild에서는 일치하는 임의의 항목을 선택하므로 예기치 않은 결과가 발생할 수 있습니다. |
Condition |
선택적 특성입니다. 평가할 조건입니다. 자세한 내용은 조건을 참조하세요. |
자식 요소
요소 | 설명 |
---|---|
ParameterGroup | 지정된 TaskFactory 에서 생성한 작업에 나타나는 매개 변수 집합입니다. |
Task | 작업의 인스턴스를 생성하기 위해 TaskFactory 로 전달되는 데이터입니다. |
부모 요소
요소 | Description |
---|---|
프로젝트 | MSBuild 프로젝트 파일의 필수 루트 요소입니다. |
설명
환경 변수, 명령줄 속성, 프로젝트 수준 속성 및 프로젝트 수준 항목은 직접 또는 가져온 프로젝트 파일을 통해 프로젝트 파일에 포함된 UsingTask
요소에서 참조할 수 있습니다. 자세한 내용은 작업을 참조하세요.
참고
MSBuild 엔진을 통해 전역으로 등록된 .tasks 파일 중 하나에서 UsingTask
요소를 가져오는 경우 프로젝트 수준 속성 또는 항목에는 의미가 없습니다. 프로젝트 수준 값은 MSBuild에 대해 전역이 아닙니다.
MSBuild 4.0에서는 작업 사용을 .overridetask 파일에서 로드할 수 있습니다.
Task
가 처음 사용되면 사용자 지정 작업이 포함된 어셈블리가 로드됩니다.
예 1
다음 예제에서는 AssemblyFile
특성에서 UsingTask
요소를 사용하는 방법을 보여 줍니다.
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />
작업이 없거나 Runtime
TaskHost
지정되었으므로 지정된 빌드에 대해 실행되는 런타임 및 아키텍처에서 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>