MSBuild en la línea de comandos: C++

En general, se recomienda usar Visual Studio para establecer las propiedades del proyecto e invocar el sistema MSBuild. Pero se puede usar la herramienta MSBuild directamente desde el símbolo del sistema. El proceso de compilación se controla mediante la información de un archivo del proyecto (.vcxproj) que se puede crear y editar. En el archivo del proyecto se especifican las opciones de compilación en función de fases, condiciones y eventos de compilación. Además, puede especificar cero o más argumentos opciones de la línea de comandos.

msbuild.exe [ archivo_del_proyecto ] [ opciones ]

Use las opciones de línea de comandos /target (o /t) y /property (o /p) para invalidar propiedades y destinos concretos que se especifican en el archivo del proyecto.

Una función esencial del archivo del proyecto es especificar un destino, que es una operación determinada que se aplica al proyecto, y las entradas y salidas necesarias para realizar esa operación. Un archivo del proyecto puede especificar uno o varios destinos, que pueden incluir un destino predeterminado.

Cada destino consta de una secuencia de una o varias tareas. Cada tarea se representa mediante una clase de .NET Framework que contiene un comando ejecutable. Por ejemplo, la tarea CL contiene el comando cl.exe.

Un parámetro de tarea es una propiedad de la tarea de clase y normalmente representa una opción de línea de comandos del comando ejecutable. Por ejemplo, el parámetro FavorSizeOrSpeed de la tarea CL se corresponde a las opciones del compilador /Os y /Ot.

Los parámetros de tarea adicionales admiten la infraestructura de MSBuild. Por ejemplo, el parámetro de tarea Sources especifica un conjunto de tareas que pueden consumir otras tareas. Para obtener más información sobre las tareas de MSBuild, vea Referencia de tareas.

La mayoría de las tareas requieren entradas y salidas, como nombres de archivo, rutas de acceso y parámetros de cadena, numéricos o booleanos. Por ejemplo, una entrada común es el nombre de un archivo de código fuente .cpp que se va a compilar. Un parámetro de entrada importante es una cadena que especifica la configuración de compilación y la plataforma, por ejemplo, "Debug|Win32". Las entradas y salidas se especifican mediante uno o varios elementos Item XML definidos por el usuario incluidos en un elemento ItemGroup.

Un archivo del proyecto también puede especificar propiedades definidas por el usuario y elementos ItemDefinitionGroup. Las propiedades y los elementos forman pares de nombre/valor que se pueden usar como variables en la compilación. El componente de nombre de un par define una macro y el componente de valor declara el valor de la macro. Para acceder a una macro de propiedad se usa la notación $(nombre) y para acceder a una macro de elemento, la notación %(nombre).

Otros elementos XML de un archivo del proyecto pueden probar macros y, después, establecer de forma condicional el valor de cualquier macro o controlar la ejecución de la compilación. Los nombres de macro y las cadenas literales se pueden concatenar para generar construcciones como una ruta de acceso y un nombre de archivo. En la línea de comandos, la opción /property establece o invalida una propiedad del proyecto. No se puede hacer referencia a los elementos en la línea de comandos.

El sistema MSBuild puede ejecutar condicionalmente un destino antes o después de otro destino. Además, el sistema puede compilar un destino en función de si los archivos que el destino consume son más recientes que los que emite.

Para obtener más información sobre MSBuild, vea:

En esta sección

Término Definición
Tutorial: uso de MSBuild para crear un proyecto de C++ Se muestra cómo crear un proyecto de C++ en Visual Studio mediante MSBuild.
Procedimiento para usar eventos de compilación en proyectos de MSBuild Se muestra cómo especificar una acción que se produce en una fase concreta de la compilación: antes de que se inicie la compilación, antes de que se inicie el paso de vínculo, o bien después de que finalice la compilación.
Procedimiento para agregar un paso de compilación personalizado a proyectos de MSBuild Se muestra cómo agregar una fase definida por el usuario a la secuencia de compilación.
Procedimiento para agregar herramientas de compilación personalizadas a proyectos de MSBuild Se muestra cómo asociar una herramienta de compilación a un archivo concreto.
Procedimiento para integrar herramientas personalizadas en las propiedades del proyecto Se muestra cómo agregar opciones para una herramienta personalizada a las propiedades del proyecto.
Cómo: Modificar versión de .NET Framework de destino y el conjunto de herramientas de la plataforma Se muestra cómo compilar un proyecto para varios marcos de trabajo o conjuntos de herramientas.

Consulte también

Uso del conjunto de herramientas de MSVC desde la línea de comandos