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 erste UsingTask
Element, das für eine TaskName
Anwendung gilt, verwendet. Zum Überschreiben von Aufgaben müssen Sie eine neue UsingTask
vor dem vorhandenen definieren oder in der neuen UsingTask
angebenOverride="true"
.
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), CurrentArchitecture und * (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
keine 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>