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>