Delen via


UsingTask-element (MSBuild)

Hiermee wordt de taak waarnaar in een taakelement wordt verwezen, toegewezen aan de assembly die de taakimplementatie bevat.

<Project><UsingTask>

Syntaxis

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

Opmerking

In tegenstelling tot eigenschappen en items wordt het eersteUsingTask element dat van toepassing is op een TaskName , gebruikt. Als u taken wilt overschrijven, moet u een nieuw UsingTaskvoor de bestaande definiëren of opgeven Override="true" in het nieuwe UsingTask.

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.

Attributes

Attribute Description
Architecture Optioneel kenmerk.

Hiermee geeft u op dat de taak moet worden uitgevoerd in een proces van de opgegeven bitness. Als het huidige proces niet aan de vereiste voldoet, wordt de taak uitgevoerd in een taakhostproces dat wel doet.

Ondersteunde waarden zijn x86 (32-bits), x64 (64-bits) CurrentArchitectureen * (elke architectuur).
AssemblyName AssemblyName Het kenmerk of het AssemblyFile kenmerk is vereist.

De naam van de assembly die moet worden geladen. Het AssemblyName kenmerk accepteert assembly's met een sterke naam, hoewel naamgeving niet vereist is. Het gebruik van dit kenmerk is gelijk aan het laden van een assembly met behulp van de Load methode in .NET.

U kunt dit kenmerk niet gebruiken als het AssemblyFile kenmerk wordt gebruikt.
AssemblyFile AssemblyName Het kenmerk of het AssemblyFile kenmerk is vereist.

Het bestandspad van de assembly. Dit kenmerk accepteert volledige paden of relatieve paden. Relatieve paden zijn relatief ten opzichte van de map van het projectbestand of het doelbestand waarin het UsingTask element wordt gedeclareerd. Het gebruik van dit kenmerk is gelijk aan het laden van een assembly met behulp van de LoadFrom methode in .NET.

U kunt dit kenmerk niet gebruiken als het AssemblyName kenmerk wordt gebruikt.
Override Optioneel kenmerk.

Hiermee geeft u op dat dit UsingTask element een hogere prioriteit moet hebben dan andere elementen die dezelfde taaknaam definiëren. Er is slechts één onderdrukking toegestaan per taaknaam. Toegevoegd in MSBuild 17.2.
Runtime Optioneel kenmerk.

Hiermee geeft u op dat de taak moet worden uitgevoerd in een .NET Framework-runtime van de opgegeven versie. Als het huidige proces niet aan de vereiste voldoet, wordt de taak uitgevoerd in een taakhostproces dat wel doet.

Ondersteunde waarden zijn 'NET' (.NET Core en .NET 5 of hoger), CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 of hoger), CurrentRuntime( NET te beginnen in .NET 10 of hoger) en * (elke runtime). U kunt runtimetaken alleen aanroepen NET wanneer u .NET Framework MSBuild uitvoert wanneer u MSBuild 18.0 (Visual Studio 2026 of hoger) of .NET SDK 10 of hoger gebruikt en u kunt geen CLR2/CLR4-taken aanroepen vanuit .NET MSBuild (wanneer deze wordt uitgevoerd dotnet build).
TaskFactory Optioneel kenmerk.

Hiermee geeft u de klasse in de assembly die verantwoordelijk is voor het genereren van exemplaren van de opgegeven Task naam. De gebruiker kan ook een Task onderliggend element opgeven dat de taakfactory ontvangt en gebruikt om de taak te genereren. De inhoud van de Task taakfactory is specifiek voor de taakfactory. De standaardwaarde TaskFactory is AssemblyTaskFactory, waarmee de taak in het actieve proces wordt geladen.
TaskName Vereist kenmerk.

De naam van de taak waarnaar moet worden verwezen vanuit een assembly. Als dubbelzinnigheden mogelijk zijn, moet dit kenmerk altijd volledige naamruimten opgeven. Als er dubbelzinnigheden zijn, kiest MSBuild een willekeurige overeenkomst, wat onverwachte resultaten kan opleveren.
Condition Optioneel kenmerk.

De voorwaarde die moet worden geëvalueerd. Zie Voorwaarden voor meer informatie.

Onderliggende elementen

Onderdeel Description
ParameterGroup De set parameters die worden weergegeven op de taak die wordt gegenereerd door de opgegeven TaskFactory.
Taak De gegevens die aan de TaskFactory taak worden doorgegeven om een exemplaar van de taak te genereren.

Bovenliggende elementen

Onderdeel Description
Project Vereist hoofdelement van een MSBuild-projectbestand.

Opmerkingen

Omgevingsvariabelen, opdrachtregeleigenschappen, eigenschappen op projectniveau en items op projectniveau kunnen rechtstreeks naar de UsingTask elementen in het projectbestand worden verwezen, hetzij rechtstreeks of via een geïmporteerd projectbestand. Zie Tasksvoor meer informatie.

Opmerking

Eigenschappen en items op projectniveau hebben geen betekenis als het UsingTask element afkomstig is van een van de .tasks-bestanden die globaal zijn geregistreerd bij de MSBuild-engine. Waarden op projectniveau zijn niet globaal voor MSBuild.

In MSBuild 4.0 kunnen taken worden geladen vanuit .overridetask bestanden.

De assembly met de aangepaste taak wordt geladen wanneer de Task eerste wordt gebruikt.

Voorbeeld 1

In het volgende voorbeeld ziet u hoe u het UsingTask element gebruikt met een AssemblyFile kenmerk.

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

Omdat er geen Runtime of TaskHost opgegeven is, wordt de taak uitgevoerd in het MSBuild-proces, in de runtime en architectuur die voor een bepaalde build wordt uitgevoerd.

Voorbeeld 2

In het volgende voorbeeld ziet u hoe u het UsingTask element gebruikt met een AssemblyName kenmerk en een aangepaste TaskFactory definitie in die assembly.

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

Zie ook