CallTarget — zadanie
Wywołuje określone obiekty docelowe w pliku projektu.
Parametry zadania
W poniższej tabeli opisano parametry CallTarget
zadania.
Parametr | Opis |
---|---|
RunEachTargetSeparately |
Opcjonalny Boolean parametr wejściowy.Jeśli true aparat MSBuild jest wywoływany raz na obiekt docelowy. Jeśli false aparat MSBuild jest wywoływany raz, aby skompilować wszystkie obiekty docelowe. Wartość domyślna to false . |
TargetOutputs |
Opcjonalny ITaskItem[] parametr wyjściowy.Zawiera dane wyjściowe wszystkich skompilowanych obiektów docelowych. |
Targets |
Opcjonalny String[] parametr.Określa element docelowy lub docelowy do skompilowania. |
UseResultsCache |
Opcjonalny Boolean parametr.Jeśli true parametr , zostanie zwrócony buforowany wynik, jeśli istnieje.Uwaga Gdy zadanie MSBuild jest uruchamiane, jego dane wyjściowe są buforowane w zakresie (ProjectFileName, GlobalProperties)[TargetNames] jako lista elementów kompilacji. |
Uwagi
Jeśli element docelowy określony w Targets
elemecie kończy się niepowodzeniem i RunEachTargetSeparately
ma wartość true
, zadanie kontynuuje kompilowanie pozostałych obiektów docelowych.
Jeśli chcesz skompilować domyślne obiekty docelowe, użyj zadania MSBuild i ustaw Projects
parametr równy $(MSBuildProjectFile)
.
W przypadku korzystania z programu CallTarget
program MSBuild oblicza wywołaną wartość docelową w nowym zakresie, w przeciwieństwie do tego samego zakresu, z których jest wywoływany. Oznacza to, że wszystkie zmiany elementu i właściwości w wywoływanym elemencie docelowym nie są widoczne dla obiektu docelowego wywołującego. Aby przekazać informacje do obiektu docelowego wywołującego, użyj parametru wyjściowego TargetOutputs
.
Oprócz parametrów wymienionych powyżej to zadanie dziedziczy parametry z TaskExtension klasy, która sama dziedziczy z Task klasy. Aby uzyskać listę tych dodatkowych parametrów i ich opisy, zobacz TaskExtension, klasa bazowa.
Przykład
Poniższe przykładowe wywołania TargetA
z wewnątrz CallOtherTargets
elementu .
<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>