Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Contiene un conjunto de tareas para que MSBuild se ejecute secuencialmente.
<Destino del proyecto><>
Syntax
<Target Name="Target Name"
Inputs="Inputs"
Outputs="Outputs"
Returns="Returns"
KeepDuplicateOutputs="true/false"
BeforeTargets="Targets"
AfterTargets="Targets"
DependsOnTargets="DependentTarget"
Condition="'String A' == 'String B'"
Label="Label">
<Task>... </Task>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<OnError... />
</Target>
Atributos y elementos
En las secciones siguientes se describen atributos, elementos secundarios y elementos primarios.
Attributes
| Atributo | Description |
|---|---|
Name |
Atributo obligatorio. Nombre del destino. Un nombre de destino puede contener cualquier carácter excepto $@()%*?.. |
Condition |
Atributo opcional. Condición que se va a evaluar. Si la condición se evalúa como false, el destino no ejecutará el cuerpo del destino ni los destinos establecidos en el DependsOnTargets atributo . Para obtener más información sobre las condiciones, vea Condiciones. |
Inputs |
Atributo opcional. Los archivos que forman entradas en este destino. Varios archivos están separados por punto y coma. Las marcas de tiempo de los archivos se compararán con las marcas de tiempo de los archivos en Outputs para determinar si está Target actualizado. Para obtener más información, vea Compilaciones incrementales, Cómo: Compilar incrementalmente y transformaciones. |
Outputs |
Atributo opcional. Los archivos que forman salidas en este destino. Varios archivos están separados por punto y coma. Las marcas de tiempo de los archivos se compararán con las marcas de tiempo de los archivos en Inputs para determinar si está Target actualizado. Para obtener más información, vea Compilaciones incrementales, Cómo: Compilar incrementalmente y transformaciones. |
Returns |
Atributo opcional. Conjunto de elementos que estarán disponibles para las tareas que invocan este destino, por ejemplo, tareas de MSBuild. Varios destinos están separados por punto y coma. Si los destinos del archivo no Returns tienen atributos, los atributos Outputs se usan en su lugar para este propósito. |
KeepDuplicateOutputs |
Atributo booleano opcional. Si truees , se registran varias referencias al mismo elemento del valor Returns del destino. De forma predeterminada, este atributo es false. |
BeforeTargets |
Atributo opcional. Una lista separada por punto y coma de nombres de destino. Cuando se especifica, indica que este destino debe ejecutarse antes del destino o destinos especificados. Esto permite al autor del proyecto ampliar un conjunto existente de destinos sin modificarlos directamente. Para obtener más información, consulte Orden de compilación de destino. |
AfterTargets |
Atributo opcional. Una lista separada por punto y coma de nombres de destino. Cuando se especifica, indica que este destino debe ejecutarse después del destino o destinos especificados. Esto permite al autor del proyecto ampliar un conjunto existente de destinos sin modificarlos directamente. Para obtener más información, consulte Orden de compilación de destino. |
DependsOnTargets |
Atributo opcional. Los destinos que se deben ejecutar antes de que este destino se pueda ejecutar o se pueda realizar el análisis de dependencias de nivel superior. Varios destinos están separados por punto y coma. |
Label |
Atributo opcional. Identificador que puede identificar o ordenar elementos del sistema y del usuario. |
Elementos secundarios
| Elemento | Description |
|---|---|
| Tarea | Crea y ejecuta una instancia de una tarea de MSBuild. Puede haber cero o más tareas en un destino. |
| PropertyGroup | Contiene un conjunto de elementos definidos por Property el usuario. Un Target elemento puede contener PropertyGroup elementos. |
| ItemGroup | Contiene un conjunto de elementos definidos por Item el usuario. Un Target elemento puede contener ItemGroup elementos. Para obtener más información, vea Elementos. |
| OnError | Hace que uno o varios destinos se ejecuten si el ContinueOnError atributo es ErrorAndStop (o false) para una tarea con error. Puede haber cero o más OnError elementos en un destino. Si OnError los elementos están presentes, deben ser los últimos elementos del Target elemento.Para obtener información sobre el ContinueOnError atributo, consulte Elemento Task (MSBuild). |
Elementos primarios
| Elemento | Description |
|---|---|
| Proyecto | Elemento raíz necesario de un archivo de proyecto de MSBuild. |
Observaciones
El primer destino que se va a ejecutar se especifica en tiempo de ejecución. Los destinos pueden tener dependencias en otros destinos. Por ejemplo, un destino para la implementación depende de un destino para la compilación. El motor de MSBuild ejecuta dependencias en el orden en que aparecen en el DependsOnTargets atributo, de izquierda a derecha. Para obtener más información, consulte Destinos.
MSBuild depende del orden de importación y la última definición de un destino con un atributo específico Name es la definición usada.
Un destino solo se ejecuta una vez durante una compilación, incluso si más de un destino tiene una dependencia en él.
Si se omite un destino porque su Condition atributo se evalúa falsecomo , todavía se puede ejecutar si se invoca más adelante en la compilación y su Condition atributo se evalúa true como en ese momento.
Antes de MSBuild 4, Target devolvió los elementos especificados en el Outputs atributo . Para ello, MSBuild tenía que registrar estos elementos en caso de que las tareas posteriores en la compilación las solicitaran. Dado que no había ninguna manera de indicar qué destinos tenían salidas que los llamadores requerirían, MSBuild acumulaba todos los elementos de todos en Outputs todos los invocados Target. Esto conduce a problemas de escalado de compilaciones que tenían un gran número de elementos de salida.
Si el usuario especifica un Returns elemento en cualquier Target elemento de un proyecto, solo aquellos Targetque tienen un Returns atributo registran esos elementos.
Un Target puede contener un Outputs atributo y un Returns atributo .
Outputs se usa con Inputs para determinar si el destino es up-to-date.
Returns, si está presente, invalida el valor de Outputs para determinar qué elementos se devuelven a los autores de llamadas. Si Returns no está presente, Outputs se pondrá a disposición de los autores de llamadas excepto en el caso descrito anteriormente.
Antes de MSBuild 4, cada vez que un Target elemento incluía varias referencias al mismo elemento en su Outputs, esos elementos duplicados se registrarían. En compilaciones muy grandes que tenían un gran número de salidas y muchas interdependencias de proyecto, esto provocaría que se desperdiciase una gran cantidad de memoria porque los elementos duplicados no eran de ningún uso. Cuando el KeepDuplicateOutputs atributo se establece trueen , se registran estos duplicados.
Example
En el ejemplo de código siguiente se muestra un Target elemento que ejecuta la Csc tarea.
<Target Name="Compile" DependsOnTargets="Resources" Returns="$(TargetPath)">
<Csc Sources="@(CSFile)"
TargetType="library"
Resources="@(CompiledResources)"
EmitDebugInformation="$(includeDebugInformation)"
References="@(Reference)"
DebugType="$(debuggingType)" >
<Output TaskParameter="OutputAssembly"
ItemName="FinalAssemblyName" />
</Csc>
</Target>