Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Innehåller en uppsättning uppgifter som MSBuild ska köra sekventiellt.
<Projektmål><>
Syntax
<Target Name="Target Name"
        Inputs="Inputs"
        Outputs="Outputs"
        Returns="Returns"
        KeepDuplicateOutputs="true/false"
        BeforeTargets="Targets"
        AfterTargets="Targets"
        DependsOnTargets="DependentTarget"
        Condition="'String A' == 'String B'"
        Label="Label">
    <Task>... </Task>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <OnError... />
</Target>
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attributes
| Attribute | Description | 
|---|---|
| Name | Obligatoriskt attribut. Namnet på målet. Ett målnamn kan innehålla alla tecken utom $@()%*?.. | 
| Condition | Valfritt attribut. Villkoret som ska utvärderas. Om villkoret utvärderas till falsekommer målet inte att köra brödtexten för målet eller några mål som anges iDependsOnTargetsattributet. Mer information om villkor finns i Villkor. | 
| Inputs | Valfritt attribut. De filer som bildar indata i det här målet. Flera filer avgränsas med semikolon. Tidsstämplarna för filerna jämförs med tidsstämplarna för filer i Outputsför att avgöra om deTargetär uppdaterade. Mer information finns i Inkrementella versioner, Så här: Skapa stegvis och Transformeringar. | 
| Outputs | Valfritt attribut. Filerna som bildar utdata till det här målet. Flera filer avgränsas med semikolon. Tidsstämplarna för filerna jämförs med tidsstämplarna för filer i Inputsför att avgöra om deTargetär uppdaterade. Mer information finns i Inkrementella versioner, Så här: Skapa stegvis och Transformeringar. | 
| Returns | Valfritt attribut. Den uppsättning objekt som ska göras tillgängliga för uppgifter som anropar det här målet, till exempel MSBuild-uppgifter. Flera mål avgränsas med semikolon. Om målen i filen inte har några Returnsattribut används utdataattributen i stället för detta ändamål. | 
| KeepDuplicateOutputs | Valfritt booleskt attribut. Om trueregistreras flera referenser till samma objekt i målets Returer.  Som standard ärfalsedet här attributet . | 
| BeforeTargets | Valfritt attribut. En semikolonavgränsad lista med målnamn. När det anges anger att det här målet ska köras före det angivna målet eller målen. På så sätt kan projektförfattaren utöka en befintlig uppsättning mål utan att ändra dem direkt. Mer information finns i Målversionsordning. | 
| AfterTargets | Valfritt attribut. En semikolonavgränsad lista med målnamn. När det anges anger att det här målet ska köras efter det angivna målet eller målen. På så sätt kan projektförfattaren utöka en befintlig uppsättning mål utan att ändra dem direkt. Mer information finns i Målversionsordning. | 
| DependsOnTargets | Valfritt attribut. De mål som måste köras innan det här målet kan köras eller så kan beroendeanalys på den översta nivån ske. Flera mål avgränsas med semikolon. | 
| Label | Valfritt attribut. En identifierare som kan identifiera eller beställa system- och användarelement. | 
Underordnade element
| Komponent | Description | 
|---|---|
| Uppgift | Skapar och kör en instans av en MSBuild-uppgift. Det kan finnas noll eller fler aktiviteter i ett mål. | 
| PropertyGroup | Innehåller en uppsättning användardefinierade Propertyelement. EttTargetelement kan innehållaPropertyGroupelement. | 
| ItemGroup | Innehåller en uppsättning användardefinierade Itemelement. EttTargetelement kan innehållaItemGroupelement. Mer information finns i Objekt. | 
| OnError | Gör att ett eller flera mål körs om ContinueOnErrorattributet är ErrorAndStop (ellerfalse) för en misslyckad aktivitet. Det kan finnas noll eller flerOnErrorelement i ett mål. OmOnErrorelement finns måste de vara de sista elementen i elementetTarget.Information om attributet finns i ContinueOnErrorUppgiftselement (MSBuild). | 
Överordnade element
| Komponent | Description | 
|---|---|
| Projekt | Obligatoriskt rotelement i en MSBuild-projektfil. | 
Anmärkningar
Det första målet som ska köras anges vid körning. Mål kan ha beroenden för andra mål. Ett mål för distribution är till exempel beroende av ett mål för kompilering. MSBuild-motorn kör beroenden i den ordning de visas i DependsOnTargets attributet, från vänster till höger. Mer information finns i Mål.
MSBuild är importordningsberoende och den sista definitionen av ett mål med ett specifikt Name attribut är definitionen som används.
Ett mål körs bara en gång under en version, även om fler än ett mål har ett beroende av det.
Om ett mål hoppas över eftersom dess Condition attribut utvärderas till falsekan det fortfarande köras om det anropas senare i versionen och dess Condition attribut utvärderas till true vid den tidpunkten.
Före MSBuild 4 Target returnerades alla objekt som angavs i Outputs attributet.  För att göra detta var MSBuild tvungen att registrera dessa objekt om uppgifter senare i bygget begärde dem. Eftersom det inte fanns något sätt att ange vilka mål som hade utdata som anropare skulle kräva, ackumulerade MSBuild alla objekt från alla Outputs på alla anropade Targets. Detta leder till skalningsproblem för byggen som hade ett stort antal utdataobjekt.
Om användaren anger ett Returns på ett Target element i ett projekt är det bara de Targetsom har en Returns attributpost för dessa objekt.
A Target kan innehålla både ett Outputs attribut och ett Returns attribut.  
              Outputs används med Inputs för att avgöra om målet är up-to-date. 
              Returns, om det finns, åsidosätter värdet Outputs för för att avgöra vilka objekt som returneras till anropare.  Om Returns den inte finns Outputs kommer den att göras tillgänglig för anropare förutom i det fall som beskrevs tidigare.
Före MSBuild 4 registreras de duplicerade objekten varje gång som en Target inkluderad flera referenser till samma objekt i dess Outputs. I mycket stora versioner som hade ett stort antal utdata och många projektberoenden skulle detta orsaka att en stor mängd minne slösades bort eftersom de duplicerade objekten inte var till någon nytta. 
              KeepDuplicateOutputs När attributet är inställt på trueregistreras dessa dubbletter.
Example
I följande kodexempel visas ett Target element som kör Csc uppgiften.
<Target Name="Compile" DependsOnTargets="Resources" Returns="$(TargetPath)">
    <Csc Sources="@(CSFile)"
          TargetType="library"
          Resources="@(CompiledResources)"
          EmitDebugInformation="$(includeDebugInformation)"
          References="@(Reference)"
          DebugType="$(debuggingType)" >
        <Output TaskParameter="OutputAssembly"
                  ItemName="FinalAssemblyName" />
    </Csc>
</Target>