Поделиться через


CallTarget - задача

Вызывает указанные целевые объекты в файле проекта.

Параметры задачи

В следующей таблице приводятся параметры задачи CallTarget.

Параметр Описание
RunEachTargetSeparately Необязательный входной параметр Boolean.

Если задано значение true, модуль MSBuild вызывается однократно для каждого целевого объекта. Если задано значение false, модуль MSBuild вызывается однократно для сборки всех целевых объектов. Значение по умолчанию — false.
TargetOutputs Необязательный выходной параметр ITaskItem[] .

Содержит выходные данные всех собранных целевых объектов.
Targets Необязательный параметр String[].

Указывает один или несколько целевых объектов для сборки.
UseResultsCache Необязательный параметр Boolean.

Если задано значение true, возвращается кэшированный результат (при его наличии).

Примечание. При выполнении задачи MSBuild ее выходные данные кэшируются в области (ProjectFileName, GlobalProperties)[TargetNames] в виде списка элементов сборки.

Замечания

Если заданный в Targets целевой объект завершается сбоем, а RunEachTargetSeparately имеет значение true, задача продолжает сборку оставшихся целевых объектов.

Если вы хотите выполнить сборку целевых объектов по умолчанию, используйте задачу MSBuild и задайте для параметра Projects значение $(MSBuildProjectFile).

При использовании CallTarget MSBuild вычисляет вызываемый целевой объект в новой области, в не в той области, из которой он был вызван. Это означает, что любые изменения элементов и свойств в вызываемом целевом объекте не видны вызывающему объекту. Для передачи сведений в вызывающий объект используйте выходной параметр TargetOutputs.

Помимо перечисленных выше параметров, эта задача наследует параметры от класса TaskExtension, который, в свою очередь, наследует от класса Task. Список этих дополнительных параметров и их описания см. в статье Базовый класс TaskExtension.

Пример

Приведенный ниже пример вызывается TargetA из 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>

См. также