UsingTask, element (MSBuild)
Mapuje zadanie, do którego odwołuje się element Task , do zestawu zawierającego implementację zadania.
<Project><UsingTask>
Składnia
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
Uwaga
W przeciwieństwie do właściwości i elementów, pierwszy UsingTask
element, który ma zastosowanie do TaskName
elementu , będzie używany; aby zastąpić zadania, należy zdefiniować nowe UsingTask
przed istniejącym lub określić Override="true"
w nowym UsingTask
.
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.
Atrybuty
Atrybut | opis |
---|---|
Architecture |
Atrybut opcjonalny. Określa, że zadanie musi być uruchamiane w procesie określonej bitowości. Jeśli bieżący proces nie spełnia wymagań, zadanie zostanie uruchomione w procesie hosta zadań, który to robi. Obsługiwane wartości to x86 (32-bitowe), x64 (64-bitowe), CurrentArchitecture i * (dowolna architektura). |
AssemblyName |
AssemblyName Atrybut lub AssemblyFile atrybut jest wymagany.Nazwa zestawu do załadowania. Atrybut AssemblyName akceptuje zestawy o silnych nazwach, chociaż silne nazewnictwo nie jest wymagane. Użycie tego atrybutu jest równoważne ładowaniu zestawu przy użyciu Load metody na platformie .NET.Nie można użyć tego atrybutu AssemblyFile , jeśli jest używany atrybut. |
AssemblyFile |
AssemblyName Wymagany jest atrybut lub AssemblyFile .Ścieżka pliku zestawu. Ten atrybut akceptuje pełne ścieżki lub ścieżki względne. Ścieżki względne są względne względem katalogu pliku projektu lub pliku docelowej, w UsingTask którym element jest zadeklarowany. Użycie tego atrybutu jest równoważne ładowaniu zestawu przy użyciu LoadFrom metody na platformie .NET.Nie można użyć tego atrybutu AssemblyName , jeśli jest używany atrybut. |
Override |
Atrybut opcjonalny. Określa, że ten UsingTask element powinien mieć wyższy priorytet niż inne elementy definiujące tę samą nazwę zadania. Tylko jedno przesłonięcia jest dozwolone dla nazwy zadania. Dodano w programie MSBuild 17.2. |
Runtime |
Atrybut opcjonalny. Określa, że zadanie musi być uruchamiane w środowisku uruchomieniowym programu .NET Framework określonej wersji. Jeśli bieżący proces nie spełnia wymagań, zadanie zostanie uruchomione w procesie hosta zadań, który to robi. Obsługiwane wartości to "NET" (.NET Core i .NET 5 lub nowsze), CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 lub nowszy), CurrentRuntime i * (dowolne środowisko uruchomieniowe). Pamiętaj, że nie można wywoływać zadań NET podczas uruchamiania programu .NET Framework (CLR4) MSBuild i nie można wywołać zadań CLR2/CLR4 z programu .NET MSBuild (podczas uruchamiania dotnet build programu ). |
TaskFactory |
Atrybut opcjonalny. Określa klasę w zestawie, który jest odpowiedzialny za generowanie wystąpień określonej Task nazwy. Użytkownik może również określić jako element podrzędny Task , który fabryka zadań odbiera i używa do wygenerowania zadania. Zawartość elementu Task jest specyficzna dla fabryki zadań. Wartość domyślna TaskFactory to AssemblyTaskFactory , która ładuje zadanie do uruchomionego procesu. |
TaskName |
Atrybut wymagany. Nazwa zadania do odwołania z zestawu. Jeśli możliwe są niejednoznaczności, ten atrybut powinien zawsze określać pełne przestrzenie nazw. Jeśli istnieją niejednoznaczności, program MSBuild wybierze dowolne dopasowanie, co może spowodować nieoczekiwane wyniki. |
Condition |
Atrybut opcjonalny. Warunek do obliczenia. Aby uzyskać więcej informacji, zobacz Warunki. |
Elementy podrzędne
Element | opis |
---|---|
Grupa parametrów | Zestaw parametrów wyświetlanych w zadaniu generowanym przez określony TaskFactory element . |
Zadanie podrzędne | Dane przekazywane do TaskFactory elementu w celu wygenerowania wystąpienia zadania. |
Elementy nadrzędne
Element | opis |
---|---|
Projekt | Wymagany element główny pliku projektu MSBuild. |
Uwagi
Zmienne środowiskowe, właściwości wiersza polecenia, właściwości na poziomie projektu i elementy na poziomie projektu można odwoływać się do elementów zawartych w UsingTask
pliku projektu bezpośrednio lub za pośrednictwem zaimportowanego pliku projektu. Aby uzyskać więcej informacji, zobacz Zadania.
Uwaga
Właściwości i elementy na poziomie projektu nie mają znaczenia, jeśli UsingTask
element pochodzi z jednego z plików .tasks , które są globalnie zarejestrowane za pomocą aparatu MSBuild. Wartości na poziomie projektu nie są globalne dla programu MSBuild.
W programie MSBuild 4.0 można załadować za pomocą zadań z plików .overridetask .
Zestaw zawierający zadanie niestandardowe jest ładowany po Task
pierwszym użyciu.
Przykład 1
W poniższym przykładzie pokazano, jak używać UsingTask
elementu z atrybutem AssemblyFile
.
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />
Ponieważ nie ma ani TaskHost
nie Runtime
określono, zadanie zostanie wykonane w procesie MSBuild, w środowisku uruchomieniowym i architekturze, która ma być uruchomiona dla danej kompilacji.
Przykład 2
W poniższym przykładzie pokazano, jak używać UsingTask
elementu z atrybutem AssemblyName
i niestandardowym TaskFactory
zdefiniowanym w tym zestawie.
<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>