Task 元素 (MSBuild)

更新:2007 年 11 月

创建并执行 MSBuild 任务的一个实例。元素名称由正在创建的任务的名称决定。

<Task Parameter1="Value1"... ParameterN="ValueN"
    ContinueOnError="true/false"
    Condition="'String A' == 'String B'" >
    <Output... />
</Task>

属性和元素

以下几节描述了属性、子元素和父元素。

属性

属性

说明

Condition

可选的属性。要计算的条件。有关更多信息,请参见 MSBuild 条件

ContinueOnError

可选的属性。Boolean 属性,如果未指定,将默认为 false。如果 ContinueOnError 为 false,那么当某个任务失败时,将不会执行 Target 元素中的其余任务,并且整个 Target 元素将被认为失败。

如果此属性为 true,那么即使当前任务失败,Target 元素中的后续任务仍将继续执行,来自该任务的所有错误都被视为警告。

Parameter

如果任务类包含一个或多个带有 [Required] 属性 (attribute) 标记的属性 (property),则此属性是必选的。

用户定义的任务参数,包含作为它的值的参数值。Task 元素中可以有任意数目的参数,其每个属性 (attribute) 均映射到任务类中的一个 .NET 属性 (property)。

子元素

元素

说明

Output

将来自任务的输出存储在项目文件中。一个任务中可能有零个或零个以上的 Output 元素。

父元素

元素

说明

Target

MSBuild 任务的容器元素。

备注

MSBuild 项目文件中的 Task 元素创建任务的一个实例,设置它的属性,然后执行该任务。Output 元素将输出参数存储在要用在项目文件的其他位置的属性或项中。

如果任务的父 Target 元素中存在任何 OnError 元素,则当任务失败并且 ContinueOnError 的值为 false 时,仍会计算这些元素。有关任务的更多信息,请参见 MSBuild 任务

示例

下面的代码示例创建 Csc task 类的一个实例,设置六个属性,然后执行该任务。执行后,对象的 OutputAssembly 属性的值将放入名为 FinalAssemblyName 的项列表中。

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

请参见

概念

MSBuild 任务

MSBuild 项目文件架构引用

其他资源

MSBuild 任务参考