UsingTask 要素 (MSBuild)
Task 要素内で参照されているタスクを、そのタスクの実装を格納しているアセンブリに対応付けます。
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 |
Description |
---|---|
AssemblyName |
AssemblyFile 属性または AssemblyName 属性は必須です。 読み込むアセンブリの名前。AssemblyName 属性は厳密な名前のアセンブリを受け入れますが、厳密な名前付けは必須ではありません。この属性を使用すると、.NET Framework で Load メソッドを使用してアセンブリを読み込んだ場合と同じ結果になります。 AssemblyFile 属性が使用されている場合には、この属性は使用できません。 |
AssemblyFile |
AssemblyName 属性または AssemblyFile 属性が必要です。 アセンブリのファイル パス。この属性は、完全パスまたは相対パスを受け入れます。相対パスは、UsingTask 要素が宣言されたプロジェクト ファイルまたは targets ファイルのディレクトリに対して相対です。この属性を使用すると、.NET Framework で LoadFrom メソッドを使用してアセンブリを読み込んだ場合と同じ結果になります。 AssemblyName 属性が使用されている場合には、この属性は使用できません。 |
TaskFactory |
省略可能な属性です。 指定された Task 名のインスタンスを生成するアセンブリ内のクラスを指定します。ユーザーは、TaskBody を、タスク ファクトリが受け取り、タスクを生成するために使用する子要素として指定することもできます。TaskBody の内容は、タスク ファクトリに固有です。 |
TaskName |
必須の属性です。 アセンブリから参照するタスクの名前です。多義的になる可能性があるときには、この属性には完全な名前空間を指定するようにしてください。多義的な名前を指定すると、MSBuild で名前が完全に一致しないタスクが選択され、予期しない結果になる場合があります。 |
Condition |
省略可能な属性です。 評価するための条件です。詳細については、「MSBuild の条件」を参照してください。 |
子要素
要素 |
Description |
---|---|
指定された TaskFactory によって生成されるタスクで表示されるパラメーターのセットです。 |
|
タスクのインスタンスを生成するために TaskFactory に渡されるデータです。 |
親要素
要素 |
Description |
---|---|
MSBuild プロジェクト ファイルの必須のルート要素です。 |
解説
環境変数、コマンド ライン プロパティ、およびプロジェクトレベル プロパティは、明示的に、またはインポートされたプロジェクト ファイルを通じてプロジェクト ファイル内に存在する限り、UsingTask 要素内の任意の場所から参照できます。詳細については、「MSBuild タスク」を参照してください。
[!メモ]
MSBuild エンジンを使用してグローバルに登録された .tasks ファイルの 1 つから UsingTask 要素が使用されている場合、プロジェクトレベル プロパティは意味を持ちません。プロジェクトレベル プロパティは、MSBuild に対するグローバルなプロパティではありません。
MSBuild 4.0 では、使用タスクを .overridetask ファイルから読み込むことができます。
使用例
次の例は、UsingTask 要素を使用し、AssemblyName 属性を指定する方法を示しています。
<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>
次の例は、UsingTask 要素を使用し、AssemblyFile 属性を指定する方法を示しています。
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />
参照
概念
MSBuild プロジェクト ファイル スキーマ リファレンス