Condividi tramite


attività CallTarget

Richiama le destinazioni specificate nel file di progetto.

Parametri dell'attività

Nella tabella che segue vengono descritti i parametri dell'attività CallTarget.

Parametro Descrizione
RunEachTargetSeparately Parametro di input Boolean facoltativo.

Se true, il motore MSBuild viene chiamato una volta per ogni destinazione. Se false, il motore MSBuild viene chiamato una sola volta per compilare tutte le destinazioni. Il valore predefinito è false.
TargetOutputs Parametro di output ITaskItem[] facoltativo.

Contiene l'output di tutte le destinazioni compilate.
Targets Parametro String[] facoltativo.

Specifica la destinazione o le destinazioni da compilare.
UseResultsCache Parametro Boolean facoltativo.

Se true, viene restituito il risultato memorizzato nella cache, se presente.

Nota Se l'attività MSBuild viene eseguita, il relativo output viene memorizzato nella cache in un ambito (ProjectFileName, GlobalProperties)[TargetNames] come elenco di elementi di compilazione.

Osservazioni:

Se una destinazione specificata in Targets ha esito negativo e RunEachTargetSeparately è true, l'attività continua a compilare le destinazioni rimanenti.

Per compilare le destinazioni predefinite, usare l'attività MSBuild e impostare il parametro Projects uguale a $(MSBuildProjectFile).

Quando si usa CallTarget, MSBuild valuta la destinazione chiamata in un nuovo ambito, anziché lo stesso ambito da cui viene chiamato. Ciò significa che qualsiasi modifica di elemento e proprietà nella destinazione chiamata non è visibile alla destinazione chiamante. Per passare informazioni alla destinazione chiamante, usare il TargetOutputs parametro di output.

Oltre ai parametri elencati sopra, questa attività eredita i parametri dalla classe TaskExtension, che a sua volta eredita dalla classe Task. Per un elenco di questi parametri aggiuntivi e le rispettive descrizioni, vedere TaskExtension Base Class.

Esempio

L'esempio seguente chiama TargetA dall'interno di CallOtherTargets.

<Project DefaultTargets="CallOtherTargets"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <Target Name="CallOtherTargets">
        <CallTarget Targets="TargetA"/>
    </Target>

    <Target Name="TargetA">
        <Message Text="Building TargetA..." />
    </Target>

</Project>

Vedi anche