UsingTask 要素 (MSBuild)

Task 要素で参照されているタスクを、タスクの実装が含まれているアセンブリにマップします。

<Project>
<UsingTask>

構文

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

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
AssemblyName AssemblyName 属性と AssemblyFile 属性のどちらかが必要です。

読み込むアセンブリの名前。 AssemblyName 属性は厳密な名前付きのアセンブリを受け取りますが、厳密な名前は必須ではありません。 この属性を使用すると、.NET の Load メソッドを使用してアセンブリを読み込む場合と同じ結果が得られます。

AssemblyFile 属性が使用されている場合、この属性は使用できません。
AssemblyFile AssemblyNameAssemblyFile 属性のどちらかが必要です。

アセンブリのファイル パス。 この属性は、完全パスまたは相対パスを受け取ります。 相対パスは、UsingTask 要素が宣言されているプロジェクト ファイルまたはターゲット ファイルのディレクトリに対して相対的なパスです。 この属性を使用すると、.NET の LoadFrom メソッドを使用してアセンブリを読み込む場合と同じ結果が得られます。

AssemblyName 属性が使用されている場合、この属性は使用できません。
TaskFactory 省略可能な属性です。

指定された Task 名のインスタンスの生成を担うアセンブリ内のクラスを指定します。 ユーザーは、タスク ファクトリが受信してタスクの生成に使用する子要素として、TaskBody を指定することもできます。 TaskBody の内容は、タスク ファクトリに固有のものです。
TaskName 必須の属性です。

アセンブリから参照するタスクの名前。 あいまいになる可能性がある場合、この属性は常に完全な名前空間を指定する必要があります。 あいまいさが存在する場合、MSBuild によって任意の一致が選択され、予期しない結果につながる可能性があります。
Condition 省略可能な属性です。

評価する条件です。 詳細については、条件をご覧ください。

子要素

要素 説明
ParameterGroup 指定された TaskFactory によって生成されるタスクに表示されるパラメーターのセットです。
タスク タスクのインスタンスを生成するために TaskFactory に渡されるデータです。

親要素

要素 説明
Project MSBuild プロジェクト ファイルの必須のルート要素です。

コメント

環境変数、コマンド ライン プロパティ、およびプロジェクト レベル プロパティは、明示的に、またはインポートされたプロジェクト ファイルを通じてプロジェクト ファイル内に表示されている限り、UsingTask 要素内の任意の場所から参照できます。 詳細については、タスクに関する記事を参照してください。

注意

MSBuild エンジンを使用してグローバルに登録された .tasks ファイルの 1 つから UsingTask 要素が使用されている場合、プロジェクトレベル プロパティは意味を持ちません。 プロジェクト レベル プロパティは、MSBuild に対してグローバルなプロパティではありません。

MSBuild 4.0 では、UsingTask を .overridetask ファイルから読み込むことができます。

次の例では、AssemblyName 属性で UsingTask 要素を使用する方法を示します。

<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>  

次の例では、AssemblyFile 属性で UsingTask 要素を使用する方法を示します。

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

関連項目

タスク
Task Reference (タスク リファレンス)
プロジェクト ファイル スキーマ リファレンス