UsingTask, element (MSBuild)

Mapy zadania, do którego odwołuje się elementElement zadania do zestawu, który zawiera 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, pierwszyUsingTask element, który ma zastosowanie do TaskName elementu , będzie używany; aby zastąpić zadania, należy zdefiniować noweUsingTask 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), CurrentArchitecturei * (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), CurrentRuntimei * (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 buildprogramu ).
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 TaskFactoryelement .
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>

Zobacz też