Share via


UsingTask-Element (MSBuild)

Ordnet den in einem Task-Element referenzierten Task der Assembly zu, die die Taskimplementierung enthält.

<Project><UsingTask>

Syntax

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

Hinweis

Im Gegensatz zu Eigenschaften und Elementen wird das ersteUsingTask-Element verwendet, das auf ein TaskName angewendet wird. Sie müssen ein neues UsingTask-Element vor dem vorhandenen definieren, oder Override="true" in dem neuen UsingTask angeben.

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung
Architecture Optionales Attribut.

Gibt an, dass der Task in einem Prozess mit der angegebenen Bitanzahl ausgeführt werden muss. Wenn der aktuelle Prozess die Anforderung nicht erfüllt, wird der Task in einem Taskhostprozess ausgeführt, der die Anforderung erfüllt.

Unterstützte Werte sind x86 (32 Bit), x64 (64 Bit), CurrentArchitectureund * (beliebige Architektur).
AssemblyName Entweder ist das Attribut AssemblyName oder das Attribut AssemblyFile erforderlich.

Der Namen zu ladenden Assembly. Das Attribut AssemblyName akzeptiert Assemblys mit sicheren Namen, auch wenn sichere Namen nicht erforderlich sind. Die Verwendung dieses Attributs entspricht dem Laden einer Assembly mit der Load-Methode in .NET.

Sie können dieses Attribut nicht verwenden, wenn das AssemblyFile-Attribut verwendet wird.
AssemblyFile Entweder ist das Attribut AssemblyName oder das Attribut AssemblyFile erforderlich.

Der Dateipfad der Assemblydatei. Dieses Attribut akzeptiert vollständige oder relative Pfade. Relative Pfade sind relativ zum Verzeichnis der Projektdatei oder Zieldatei, in dem das UsingTask-Element deklariert ist. Die Verwendung dieses Attributs entspricht dem Laden einer Assembly mit der LoadFrom-Methode in .NET.

Sie können dieses Attribut nicht verwenden, wenn das AssemblyName-Attribut verwendet wird.
Override Optionales Attribut.

Gibt an, dass dieses UsingTask-Element höher als andere Elemente sein soll, die denselben Aufgabennamen definieren. Pro Vorgangsname ist nur eine Außerkraftsetzung zulässig. In MSBuild 17.2 hinzugefügt.
Runtime Optionales Attribut.

Gibt an, dass der Task in einer .NET Framework-Runtime mit der angegebenen Version ausgeführt werden muss. Wenn der aktuelle Prozess die Anforderung nicht erfüllt, wird der Task in einem Taskhostprozess ausgeführt, der die Anforderung erfüllt.

Unterstützte Werte sind „NET“ (.NET Core und .NET 5 oder höher), CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 oder höher), CurrentRuntime und * (beliebige Runtime). Beachten Sie, dass Sie keine NET-Aufgaben aufrufen können, wenn Sie den .NET Framework (CLR4) MSBuild ausführen. Außerdem können Sie keine CLR2/CLR4-Aufgaben über den .NET MSBuild aufrufen (bei Ausführung von dotnet build).
TaskFactory Optionales Attribut.

Gibt die Klasse in der Assembly an, die für das Generieren von Instanzen des angegebenen Task-Namens verantwortlich ist. Der Benutzer kann auch Task als ein untergeordnetes Element angeben, welches durch die Aufgabenfactory empfangen und zum Generieren der Aufgabe verwendet wird. Der Inhalt von Task ist für die Aufgabenfactory spezifisch. Der Standardwert TaskFactory, der die Aufgabe in den laufenden Prozess lädt, ist AssemblyTaskFactory.
TaskName Erforderliches Attribut.

Der Name der aus einer Assembly zu referenzierenden Aufgabe. Wenn Mehrdeutigkeiten möglich sind, sollte dieses Attribut immer vollständige Namespaces angeben. Wenn Mehrdeutigkeiten vorliegen, wählt MSBuild eine willkürliche Übereinstimmung auf, die zu unerwarteten Ergebnissen führen kann.
Condition Optionales Attribut.

Die auszuwertende Bedingung. Weitere Informationen finden Sie unter Conditions (MSBuild-Bedingungen).

Untergeordnete Elemente

Element Beschreibung
ParameterGroup Der Satz an Parametern, die in der Aufgabe angezeigt werden, welche durch die angegebene TaskFactory generiert wurde.
Aufgabe Die TaskFactory weitergegebenen Daten zum Generieren einer Instanz der Aufgabe.

Übergeordnete Elemente

Element Beschreibung
Projekt Erforderliches Stammelement einer MSBuild-Projektdatei.

Hinweise

Auf Umgebungsvariablen, Befehlszeileneigenschaften sowie auf Eigenschaften und Elemente auf Projektebene kann in den UsingTask-Elementen, die in der Projektdatei enthalten sind, entweder direkt oder über eine importierte Projektdatei verwiesen werden. Weitere Informationen finden Sie unter MSBuild-Aufgaben.

Hinweis

Eigenschaften und Elemente auf Projektebene haben keine Bedeutung, wenn das UsingTask-Element aus einer der TASKS-Dateien stammt, die global in der MSBuild-Engine registriert sind. Werte auf Projektebene sind in MSBuild nicht global.

In MSBuild 4.0 kann das Laden mithilfe von Aufgaben aus OVERRIDETASK-Dateien erfolgen.

Die Assembly mit der benutzerdefinierten Aufgabe wird bei der ersten Verwendung von Task geladen.

Beispiel 1

Im folgenden Beispiel wird die Verwendung des Elements UsingTask mit dem Attribut AssemblyFile gezeigt.

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

Da keine Runtime- oder TaskHost-Angabe vorhanden ist, wird die Aufgabe im MSBuild-Prozess in der Laufzeit und Architektur ausgeführt, die für einen bestimmten Build ausgeführt wird.

Beispiel 2

Das folgende Beispiel zeigt, wie sie das UsingTask-Element mit einem AssemblyName-Attribut und einer benutzerdefinierten TaskFactory-Definition in dieser Assembly verwenden.

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

Siehe auch