Elemento Project (MSBuild)

Elemento raíz necesario de un archivo de proyecto de MSBuild.

Sintaxis

<Project InitialTargets="TargetA;TargetB"
         DefaultTargets="TargetC;TargetD"
         TreatAsLocalProperty="PropertyA;PropertyB"
         ToolsVersion="<version number>"
         Sdk="name[/version]"
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Sdk... />
    <Choose>... </Choose>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Target>... </Target>
    <UsingTask.../>
    <ProjectExtensions>... </ProjectExtensions>
    <Import... />
</Project>

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
DefaultTargets Atributo opcional.

Destinos predeterminados que serán el punto de entrada de la compilación si no se ha especificado ningún destino. Si hay varios destinos, se delimitan con punto y coma (;).

Si no se especifica ningún destino predeterminado ni en el atributo DefaultTargets ni en la línea de comandos de MSBuild, el motor ejecuta el primer destino en el archivo del proyecto una vez evaluados los elementos Import.
InitialTargets Atributo opcional.

Destinos iniciales que se van a ejecutar antes que los destinos especificados en el atributo DefaultTargets o en la línea de comandos. Si hay varios destinos, se delimitan con punto y coma (;). Si varios archivos importados definen InitialTargets, se ejecutarán todos los destinos que se han mencionado, en el orden en el que se encuentran las importaciones.
Sdk Atributo opcional.

El nombre del SDK y la versión opcional se usa para crear instrucciones Import implícitas que se agregan al archivo .proj. Si no se especifica ninguna versión, MSBuild intentará resolver una versión predeterminada. Por ejemplo, <Project Sdk="Microsoft.NET.Sdk" /> o <Project Sdk="My.Custom.Sdk/1.0.0" />.
ToolsVersion Atributo opcional.

La versión del conjunto de herramientas de MSBuild que se utiliza para determinar los valores de $(MSBuildBinPath) y $(MSBuildToolsPath).
TreatAsLocalProperty Atributo opcional.

Nombres de propiedad que no se consideran globales. Este atributo impide que determinadas propiedades de la línea de comandos invaliden los valores de propiedad que se establecen en un archivo del proyecto o de destinos y todas las importaciones posteriores. Si hay varias propiedades, se delimitan con punto y coma (;).

Normalmente, las propiedades globales invalidan los valores de propiedad que se establecen en el archivo del proyecto o de destinos. Si la propiedad aparece en el valor TreatAsLocalProperty, el valor de propiedad global no invalida los valores de propiedad que se establecen en ese archivo ni las importaciones posteriores. Para obtener más información, vea Cómo: Compilar los mismos archivos de código fuente con diferentes opciones. Nota: Establezca propiedades globales en el símbolo del sistema mediante el modificador -property (o -p). También puede establecer o modificar propiedades globales para proyectos secundarios en una compilación de varios proyectos mediante el atributo Properties de la tarea de MSBuild. Para más información, consulte Tarea de MSBuild.
xmlns Atributo opcional.

Cuando se especifica, el atributo xmlns debe tener el valor de http://schemas.microsoft.com/developer/msbuild/2003.

Elementos secundarios

Elemento Descripción
Choose Elemento opcional.

Evalúa los elementos secundarios para seleccionar un conjunto de elementos ItemGroup o PropertyGroup para evaluar.
Importar Elemento opcional.

Permite a un archivo del proyecto importar otro archivo del proyecto. Puede haber cero o más elementos Import en un proyecto.
ImportGroup Elemento opcional.

Contiene una colección de elementos Import agrupados en una condición opcional.
ItemGroup Elemento opcional.

Un elemento de agrupamiento para elementos individuales. Los elementos se especifican mediante el elemento Item. Puede haber cero o más elementos ItemGroup en un proyecto.
ItemDefinitionGroup Elemento opcional.

Permite definir un conjunto de definiciones de elementos, que son valores de metadatos que se aplican de forma predeterminada a todos los elementos del proyecto. Con ItemDefinitionGroup, ya no es necesario usar la tarea CreateItem ni la tarea CreateProperty.
ProjectExtensions Elemento opcional.

Proporciona una manera de conservar información no relativa a MSBuild en un archivo de proyecto de MSBuild. Puede haber cero o un elementos ProjectExtensions en un proyecto.
PropertyGroup Elemento opcional.

Un elemento de agrupamiento para propiedades individuales. Las propiedades se especifican mediante el elemento Property. Puede haber cero o más elementos PropertyGroup en un proyecto.
Sdk Elemento opcional.

Hace referencia a un SDK de un proyecto de MSBuild. Este elemento se puede usar como alternativa para el atributo Sdk.
Destino Elemento opcional.

Contiene un conjunto de tareas para que MSBuild las ejecute de manera secuencial. Las tareas se especifican mediante el elemento Task. Puede haber cero o más elementos Target en un proyecto.
UsingTask Elemento opcional.

Proporciona una manera de registrar las tareas en MSBuild. Puede haber cero o más elementos UsingTask en un proyecto.

Elementos primarios

Ninguno.

Consulte también