CallTarget-Aufgabe
Ruft die angegebenen Ziele in der Projektdatei ab.
Aufgabenparameter
In der folgenden Tabelle werden die Parameter der CallTarget
-Aufgabe beschrieben.
Parameter | Beschreibung |
---|---|
RunEachTargetSeparately |
Optionaler Boolean -Eingabeparameter.Bei Festlegung auf true , wird die MSBuild-Engine einmal pro Ziel aufgerufen. Bei Festlegung auf false , wird die MSBuild-Engine einmal aufgerufen, um alle Ziele zu erstellen. Der Standardwert ist false . |
TargetOutputs |
Optionaler ITaskItem[] -Ausgabeparameter.Enthält die Ausgaben aller erstellten Ziele. |
Targets |
Optionaler String[] -Parameter.Gibt das Ziel oder die Ziele an, die erstellt werden sollen. |
UseResultsCache |
Optionaler Boolean -Parameter.Wenn true , wird das zwischengespeicherte Ergebnis zurückgegeben, sofern es vorhanden ist.Hinweis Wenn eine MSBuild-Aufgabe ausgeführt wird, wird deren Ausgabe in einem Gültigkeitsbereich als eine Liste von Buildelementen zwischengespeichert (ProjectFileName, GlobalProperties)[TargetNames]. |
Hinweise
Wenn ein in Targets
angegebenes Ziel fehlschlägt und RunEachTargetSeparately
true
ist, fährt die Aufgabe mit dem Erstellen der verbleibenden Ziele fort.
Wenn Sie die Standardziele erstellen möchten, verwenden Sie die MSBuild-Aufgabe, und legen Sie den Projects
-Parameter auf $(MSBuildProjectFile)
fest.
Bei Verwendung von CallTarget
wertet MSBuild das aufgerufene Ziel in einem neuen Bereich aus und nicht in dem Bereich, aus dem es aufgerufen wurde. Das bedeutet, dass alle Änderungen an Elementen und Eigenschaften im aufgerufenen Ziel für das aufrufende Ziel nicht sichtbar sind. Verwenden Sie zur Übergabe von Informationen an das aufrufende Ziel den Ausgabeparameter TargetOutputs
.
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der TaskExtension-Klasse, die selbst von der Task-Klasse erbt. Eine Liste mit diesen zusätzlichen Parametern und ihren Beschreibungen finden Sie unter TaskExtension-Basisklasse.
Beispiel
Über das folgende Beispiel wird TargetA
in CallOtherTargets
aufgerufen.
<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>