UsingTask 요소(MSBuild)UsingTask Element (MSBuild)

Task 요소에서 참조하는 작업을 작업의 구현이 포함된 어셈블리에 매핑합니다.Maps the task that is referenced in a Task element to the assembly that contains the task implementation.

<Project><Project>
<UsingTask><UsingTask>

구문Syntax

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

특성 및 요소Attributes and Elements

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.The following sections describe attributes, child elements, and parent elements.

특성Attributes

특성Attribute 설명Description
AssemblyName AssemblyName 특성 또는 AssemblyFile 특성이 필요합니다.Either the AssemblyName attribute or the AssemblyFile attribute is required.

로드할 어셈블리의 이름입니다.The name of the assembly to load. AssemblyName 특성에서는 강력한 이름의 어셈블리를 허용하지만 필수적 요소는 아닙니다.The AssemblyName attribute accepts strong-named assemblies, although strong-naming is not required. 이 특성을 사용하면 .NET Framework에서 Load 메서드를 사용하여 어셈블리를 로드하는 것과 같은 결과를 얻을 수 있습니다.Using this attribute is equivalent to loading an assembly by using the Load method in .NET.

AssemblyFile 특성을 사용하는 경우에는 이 특성을 사용할 수 없습니다.You cannot use this attribute if the AssemblyFile attribute is used.
AssemblyFile AssemblyName 또는 AssemblyFile 특성이 필요합니다.Either the AssemblyName or the AssemblyFile attribute is required.

어셈블리의 파일 경로입니다.The file path of the assembly. 이 특성에는 전체 경로 또는 상대 경로를 모두 사용할 수 있습니다.This attribute accepts full paths or relative paths. 상대 경로는 UsingTask 요소가 선언된 대상 파일이나 프로젝트의 디렉터리를 기준으로 합니다.Relative paths are relative to the directory of the project file or targets file where the UsingTask element is declared. 이 특성을 사용하면 .NET Framework에서 LoadFrom 메서드를 사용하여 어셈블리를 로드하는 것과 같은 결과를 얻을 수 있습니다.Using this attribute is equivalent to loading an assembly by using the LoadFrom method in .NET.

AssemblyName 특성을 사용하는 경우에는 이 특성을 사용할 수 없습니다.You cannot use this attribute if the AssemblyName attribute is used.
TaskFactory 선택적 특성입니다.Optional attribute.

지정된 Task 이름의 인스턴스 생성을 담당하는 어셈블리에 클래스를 지정합니다.Specifies the class in the assembly that is responsible for generating instances of the specified Task name. 사용자는 또한 작업 팩터리가 수신해서 작업을 생성하는 데 사용하는 하위 요소로 TaskBody를 지정할 수 있습니다.The user may also specify a TaskBody as a child element that the task factory receives and uses to generate the task. TaskBody의 내용은 작업 팩터리에만 해당합니다.The contents of the TaskBody are specific to the task factory.
TaskName 필수 특성입니다.Required attribute.

어셈블리에서 참조할 작업의 이름입니다.The name of the task to reference from an assembly. 모호성이 발생할 가능성이 있으면 이 특성에 항상 전체 네임스페이스를 지정해야 합니다.If ambiguities are possible, this attribute should always specify full namespaces. 모호성이 있으면 MSBuild에서는 일치하는 임의의 항목을 선택하므로 예기치 않은 결과가 발생할 수 있습니다.If there are ambiguities, MSBuild chooses an arbitrary match, which could produce unexpected results.
Condition 선택적 특성입니다.Optional attribute.

평가할 조건입니다.The condition to evaluate. 자세한 내용은 조건을 참조하세요.For more information, see Conditions.

자식 요소Child Elements

요소Element 설명Description
ParameterGroupParameterGroup 지정된 TaskFactory에서 생성한 작업에 나타나는 매개 변수 집합입니다.The set of parameters that appear on the task that is generated by the specified TaskFactory.
TaskTask 작업의 인스턴스를 생성하기 위해 TaskFactory로 전달되는 데이터입니다.The data that is passed to the TaskFactory to generate an instance of the task.

부모 요소Parent Elements

요소Element 설명Description
프로젝트Project MSBuildMSBuild 프로젝트 파일의 필수 루트 요소입니다.Required root element of an MSBuildMSBuild project file.

설명Remarks

환경 변수, 명령줄 속성 및 프로젝트 수준 속성은 UsingTask 요소가 명시적으로 또는 가져온 프로젝트 파일을 통해 프로젝트 파일 안에 표시되는 한 이 요소 내에서 위치에 상관없이 참조할 수 있습니다.Environment variables, command-line properties, and project-level properties can be referenced anywhere in the UsingTask element if it appears in the project file either explicitly or through an imported project file. 자세한 내용은 작업을 참조하세요.For more information, see Tasks.

참고

MSBuild 엔진을 통해 전역으로 등록된 .tasks 파일 중 하나에서 UsingTask 요소를 가져오는 경우 프로젝트 수준 속성에는 의미가 없습니다.Project-level properties have no meaning if the UsingTask element is coming from one of the .tasks files that are globally registered with the MSBuild engine. 프로젝트 수준의 속성은 MSBuild에 대해 전역이 아닙니다.Project-level properties are not global to MSBuild.

MSBuild 4.0에서는 작업 사용을 .overridetask 파일에서 로드할 수 있습니다.In MSBuild 4.0, using tasks can be loaded from .overridetask files.

예제Example

다음 예제에서는 AssemblyName 특성에서 UsingTask 요소를 사용하는 방법을 보여 줍니다.The following example shows how to use the UsingTask element with an AssemblyName attribute.

<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>  
       <TaskBody>  
      ... Task factory-specific data ...  
       </TaskBody>  
</UsingTask>  

예제Example

다음 예제에서는 AssemblyFile 특성에서 UsingTask 요소를 사용하는 방법을 보여 줍니다.The following example shows how to use the UsingTask element with an AssemblyFile attribute.

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

참고 항목See Also

작업 Tasks
작업 참조 Task Reference
프로젝트 파일 스키마 참조Project File Schema Reference