CallTarget 任务

调用项目文件中的指定目标。

任务参数

下表描述了 CallTarget 任务的参数。

参数 说明
RunEachTargetSeparately 可选的 Boolean 输入参数。

如果为 true,则对每个目标调用一次 MSBuild 引擎。 如果为 false,则调用一次 MSBuild 引擎即可生成所有目标。 默认值为 false
TargetOutputs 可选的 ITaskItem[] 输出参数。

包括所有生成目标的输出。
Targets 可选 String[] 参数。

指定要生成的一个或多个目标。
UseResultsCache 可选 Boolean 参数。

如果为 true,则返回缓存的结果(如存在)。

注意:运行 MSBuild 任务时,其输出会以生成项列表的形式缓存在作用域 (ProjectFileName, GlobalProperties)[TargetNames] 中

注解

如果 Targets 中指定的目标失败,RunEachTargetSeparatelytrue,则该任务会继续生成剩余目标。

如果要生成默认目标,请使用 MSBuild 任务,并将 Projects 参数设置为等于 $(MSBuildProjectFile)

使用 CallTarget 时,MSBuild 在新作用域中评估调用目标,而不是从其调用的相同作用域中评估。 这意味着调用目标中的任何项和属性更改对调用目标均不可见。 若要将信息传递给调用目标,请使用 TargetOutputs 的 output 参数。

除上面列出的参数外,此任务还从 TaskExtension 类继承参数,后者自身继承自 Task 类。 有关这些其他参数的列表及其说明的信息,请参阅 TaskExtension 基类

示例

以下示例从内部 CallOtherTargets 调用 TargetA

<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>

另请参阅