Target 元素 (MSBuild)
更新:2007 年 11 月
包含 MSBuild 的一组任务,这组任务应顺序执行。
<Target Name="Target Name"
DependsOnTargets="DependentTarget"
Inputs="Inputs"
Outputs="Outputs"
Condition="'String A' == 'String B'">
<Task>... </Task>
<OnError... />
</Target>
属性和元素
以下几节描述了属性、子元素和父元素。
属性
属性 |
说明 |
---|---|
Name |
必选的属性。 目标的名称。 |
DependsOnTargets |
可选的属性。 在执行此目标或者进行顶级依赖项分析之前必须执行的目标。多个目标之间用分号分隔。 |
Inputs |
可选的属性。 此目标的项输入。此属性中的项用作顶级依赖项分析中的输入。 |
Outputs |
可选的属性。 此目标的预期输出。可以通过对输入项应用转换来生成输出项。有关转换的更多信息,请参见 MSBuild 转换。 |
Condition |
可选的属性。 要计算的条件。如果条件的计算结果为 false,目标将不会执行该目标的体或者在 DependsOnTargets 属性中设置的任何目标的体。有关条件的更多信息,请参见 MSBuild 条件。 |
子元素
元素 |
说明 |
---|---|
创建并执行 MSBuild 任务的一个实例。一个目标中可以有零个或零个以上的任务。 |
|
如果失败的任务的 ContinueOnError 属性为 false,那么此元素会导致一个或多个目标执行。一个目标中可以有零个或零个以上的 OnError 元素。如果 OnError 元素存在,则它们必须是 Target 元素中的最后元素。 |
父元素
元素 |
说明 |
---|---|
MSBuild 项目文件必需的根元素。 |
备注
要执行的第一个目标在运行时指定。目标可能依赖于其他目标。例如,要部署的目标依赖于要编译的目标。MSBuild 引擎按照依赖项在 DependsOnTargets 属性中的显示顺序,从左至右依次执行这些依赖项。有关更多信息,请参见 MSBuild 目标。
一个目标在生成过程中仅执行一次,即便有多个目标依赖于它也是如此。
如果由于某个目标的 Condition 属性的计算结果为 false 而跳过了该目标,但是在生成过程的后期调用该目标,并且它的 Condition 属性在当时的计算结果为 true,那么仍然可以执行该目标。
示例
下面的代码示例演示执行 Csc 任务的 Target 元素。
<Target Name="Compile" DependsOnTarget="Resources" >
<Csc Sources="@(CSFile)"
TargetType="library"
Resources="@(CompiledResources)"
EmitDebugInformation="$(includeDebugInformation)"
References="@(Reference)"
DebugType="$(debuggingType)" >
<Output TaskParameter="OutputAssembly"
ItemName="FinalAssemblyName" />
</Csc>
</Target>