Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Contiene un set di attività per MSBuild da eseguire in sequenza.
<Destinazione progetto><>
Sintassi
<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>
Attributi ed elementi
Le sezioni seguenti descrivono attributi, elementi figlio ed elementi padre.
Attributes
Attribute | Description |
---|---|
Name |
Attributo obbligatorio. Nome della destinazione. Un nome di destinazione può contenere qualsiasi carattere ad eccezione $@()%*?. di . |
Condition |
Attributo facoltativo. Condizione da valutare. Se la condizione restituisce false , la destinazione non eseguirà il corpo della destinazione o le destinazioni impostate nell'attributo DependsOnTargets . Per altre informazioni sulle condizioni, vedere Condizioni. |
Inputs |
Attributo facoltativo. File che formano input in questa destinazione. Più file sono separati da punti e virgola. I timestamp dei file verranno confrontati con i timestamp dei file in Outputs per determinare se è Target aggiornato. Per altre informazioni, vedere Compilazioni incrementali, Procedura: Compilare in modo incrementale e Trasformazioni. |
Outputs |
Attributo facoltativo. File che formano output in questa destinazione. Più file sono separati da punti e virgola. I timestamp dei file verranno confrontati con i timestamp dei file in Inputs per determinare se è Target aggiornato. Per altre informazioni, vedere Compilazioni incrementali, Procedura: Compilare in modo incrementale e Trasformazioni. |
Returns |
Attributo facoltativo. Set di elementi che verranno resi disponibili per le attività che richiamano questa destinazione, ad esempio attività MSBuild. Più destinazioni sono separate da punti e virgola. Se le destinazioni nel file non Returns hanno attributi, gli attributi output vengono invece usati per questo scopo. |
KeepDuplicateOutputs |
Attributo booleano facoltativo. Se true , vengono registrati più riferimenti allo stesso elemento nei valori Restituiti della destinazione. Per impostazione predefinita, questo attributo è false . |
BeforeTargets |
Attributo facoltativo. Elenco delimitato da punto e virgola dei nomi di destinazione. Se specificato, indica che questa destinazione deve essere eseguita prima della destinazione o delle destinazioni specificate. In questo modo, l'autore del progetto estende un set esistente di destinazioni senza modificarle direttamente. Per altre informazioni, vedere Ordine di compilazione di destinazione. |
AfterTargets |
Attributo facoltativo. Elenco delimitato da punto e virgola dei nomi di destinazione. Se specificato, indica che questa destinazione deve essere eseguita dopo la destinazione o le destinazioni specificate. In questo modo, l'autore del progetto estende un set esistente di destinazioni senza modificarle direttamente. Per altre informazioni, vedere Ordine di compilazione di destinazione. |
DependsOnTargets |
Attributo facoltativo. Le destinazioni che devono essere eseguite prima che questa destinazione possa essere eseguita o che possa verificarsi un'analisi delle dipendenze di primo livello. Più destinazioni sono separate da punti e virgola. |
Label |
Attributo facoltativo. Identificatore in grado di identificare o ordinare elementi di sistema e utente. |
Elementi figlio
Elemento | Description |
---|---|
Compito | Crea ed esegue un'istanza di un'attività MSBuild. Potrebbero essere presenti zero o più attività in una destinazione. |
PropertyGroup | Contiene un set di elementi definiti dall'utente Property . Un Target elemento può contenere PropertyGroup elementi. |
ItemGroup | Contiene un set di elementi definiti dall'utente Item . Un Target elemento può contenere ItemGroup elementi. Per altre informazioni, vedere Elementi. |
OnError | Fa sì che una o più destinazioni vengano eseguite se l'attributo è ErrorAndStop (o false ) per un'attività ContinueOnError non riuscita. In una destinazione possono essere presenti zero o più OnError elementi. Se OnError sono presenti elementi, devono essere gli ultimi elementi dell'elemento Target .Per informazioni sull'attributo ContinueOnError , vedere Elemento Task (MSBuild). |
Elementi padre
Elemento | Description |
---|---|
Progetto | Elemento radice obbligatorio di un file di progetto MSBuild. |
Osservazioni:
La prima destinazione da eseguire viene specificata in fase di esecuzione. Le destinazioni possono avere dipendenze da altre destinazioni. Ad esempio, una destinazione per la distribuzione dipende da una destinazione per la compilazione. Il motore MSBuild esegue le dipendenze nell'ordine in cui vengono visualizzate nell'attributo DependsOnTargets
, da sinistra a destra. Per altre informazioni, vedere Destinazioni.
MSBuild è dipendente dall'ordine di importazione e l'ultima definizione di una destinazione con un attributo specifico Name
è la definizione usata.
Una destinazione viene eseguita una sola volta durante una compilazione, anche se più di una destinazione ha una dipendenza da essa.
Se una destinazione viene ignorata perché Condition
l'attributo restituisce false
, può comunque essere eseguito se viene richiamato più avanti nella compilazione e il relativo Condition
attributo restituisce true
in quel momento.
Prima di MSBuild 4, Target
restituisce tutti gli elementi specificati nell'attributo Outputs
. A tale scopo, MSBuild doveva registrare questi elementi nel caso in cui le attività vengano richieste più avanti nella compilazione. Poiché non c'era modo di indicare quali destinazioni avevano output che i chiamanti richiedevano, MSBuild accumulava tutti gli elementi da tutti su tutti Outputs
gli oggetti richiamati Target
. Ciò comporta problemi di ridimensionamento per le compilazioni con un numero elevato di elementi di output.
Se l'utente specifica un oggetto Returns
su qualsiasi Target
elemento di un progetto, solo quelli Target
che dispongono di un Returns
attributo registrano tali elementi.
Un Target
oggetto può contenere sia un Outputs
attributo che un Returns
attributo.
Outputs
viene usato con Inputs
per determinare se la destinazione è up-to-date.
Returns
, se presente, esegue l'override del valore di Outputs
per determinare quali elementi vengono restituiti ai chiamanti. Se Returns
non è presente, Outputs
i chiamanti verranno resi disponibili ai chiamanti tranne nel caso descritto in precedenza.
Prima di MSBuild 4, ogni volta che un oggetto Target
includeva più riferimenti allo stesso elemento nel relativo Outputs
, tali elementi duplicati verrebbero registrati. In compilazioni molto grandi che avevano un numero elevato di output e molte interdipendenze di progetto, ciò causerebbe uno spreco di memoria elevata perché gli elementi duplicati non erano di alcun utilizzo. Quando l'attributo KeepDuplicateOutputs
è impostato su true
, questi duplicati vengono registrati.
Example
Nell'esempio di codice seguente viene illustrato un Target
elemento che esegue l'attività Csc
.
<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>