MSBuild - MSBuild
Desarrollador (es) | Microsoft |
---|---|
Versión inicial | 2003 |
Lanzamiento estable | v16.11.0 / 11 de agosto de 2021
|
Repositorio | |
Escrito en | C# |
Sistema operativo | Multiplataforma |
Plataforma | .NET Framework , .NET Core |
Escribe | Herramienta de construcción |
Licencia | Licencia MIT |
Sitio web |
docs |
Microsoft Build Engine , más conocido como MSBuild , es un conjunto de herramientas de compilación gratuito y de código abierto para código administrado y código nativo C ++ y era parte de .NET Framework . Visual Studio depende de MSBuild, pero no al revés. La administración del ciclo de vida de las aplicaciones de Visual Studio depende de MSBuild para realizar compilaciones en equipo a través de Azure DevOps Server .
Visión general
MSBuild es una herramienta de compilación que ayuda a automatizar el proceso de creación de un producto de software, incluida la compilación del código fuente , el empaquetado , las pruebas, la implementación y la creación de documentación. Con MSBuild, es posible crear proyectos y soluciones de Visual Studio sin tener instalado el IDE de Visual Studio . MSBuild es gratuito y de código abierto . MSBuild se incluía anteriormente con .NET Framework ; Sin embargo, a partir de Visual Studio 2013 , se incluye con Visual Studio. MSBuild es un reemplazo funcional de la utilidad nmake , que permanece en uso en proyectos que se originaron en versiones anteriores de Visual Studio.
MSBuild actúa sobre archivos de proyecto de MSBuild que tienen una sintaxis XML similar a Apache Ant o NAnt . Aunque la sintaxis se basa en un esquema XML bien definido, la estructura y el funcionamiento fundamentales son comparables a la tradicional utilidad make de Unix : el usuario especifica qué se utilizará (normalmente archivos de código fuente) y cuál debería ser el resultado (normalmente un archivo estático). biblioteca, DLL o una aplicación ejecutable), pero la propia utilidad decide qué hacer y el orden en el que llevar a cabo la compilación.
MSBuild puede crear un proyecto con una versión compatible de .NET Framework de su elección. Esta función se denomina "orientación múltiple". Sin embargo, cualquier compilación de un proyecto solo puede apuntar a una versión del marco a la vez.
Historia
MSBuild se creó por primera vez en 2003 con el objetivo de .NET Framework 2.0 para su uso en Visual Studio 2005 (con nombre en código Whidbey) y Windows Vista (con nombre en código Longhorn).
Versiones
Versión | .NET Framework | Versión de Visual Studio | Ubicaciones de instalación habituales (x86) |
---|---|---|---|
2.0 | 2.0 | 2005 | C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 |
3,5 | 3,5 | 2008 | C: \ Windows \ Microsoft.NET \ Framework \ v3.5 |
4.7.3062.0 | 4.0 | 2010 | C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 |
4.8.3761.0 | 4.5.2 | 2012 | C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 |
12,0 | 4.5.2 | 2013 | C: \ Archivos de programa (x86) \ MSBuild \ 12.0 \ Bin |
14.0 | 4.6 | 2015 | C: \ Archivos de programa (x86) \ MSBuild \ 14.0 \ Bin |
15.0 | 4,7 | 2017 |
|
16,0 | 4.7.2 | 2019 |
|
Terminología
- Objetivo
- Un destino contiene un conjunto de tareas para que MSBuild las ejecute. El enfoque de MSBuild es el resultado Target especificado al invocar MSBuild con el archivo de proyecto. Esto se debe a que un proyecto puede contener varias entradas de destino , cada una de las cuales se ejecuta de forma secuencial (y condicional). Los objetivos dependientes posteriores se ejecutan antes que el objetivo solicitado. El flujo de ejecución del destino actual se puede dirigir mediante los siguientes atributos: Condición, BeforeTargets, AfterTargets y DependsOnTargets. Cada objetivo puede ser autónomo con las tareas necesarias para completarse. Un objetivo es típicamente una acción que se ejecuta en un archivo, conjunto de archivos o directorio.
- Tarea
- Una tarea es un comando que se ejecuta para completar un objetivo. Las tareas se utilizan para agrupar y ejecutar cualquier cantidad de acciones durante el proceso de construcción. Por lo general, se implementan en un ensamblado .NET como una clase que hereda de la clase Task o implementa la interfaz ITask. Muchas tareas básicas se envían como parte de .NET Framework y las tareas desarrolladas por la comunidad están disponibles gratuitamente. Algunos ejemplos de tareas incluyen copiar archivos, crear directorios o analizar XML.
- Propiedades y elementos
- MSBuild proporciona propiedades y elementos , que son conceptualmente equivalentes a las macros de make . Las propiedades especifican valores estáticos, mientras que los elementos se utilizan normalmente para definir conjuntos de archivos o carpetas en los que realizar tareas. La especificación de archivos en elementos es fácil gracias a la compatibilidad con comodines.
Ver también
Referencias
Otras lecturas
- Kretzler, Brian (2011). Truco de MSBuild: 99 formas de adaptar el motor de construcción a su voluntad . Compañía K Cross Seven Ranch. pag. 426. ISBN 978-0-615-50907-5.
- Hashimi, Sayed Ibrahim (junio de 2006). "Dentro de MSBuild: compilación de aplicaciones con tareas personalizadas para Microsoft Build Engine" . Revista MSDN . Microsoft. Archivado desde el original el 11 de abril de 2015 . Consultado el 11 de abril de 2013 .
- Hashimi, Sayed Ibrahim (marzo de 2007). "Trucos de WiX: automatizar lanzamientos con MSBuild y Windows Installer XML" . Revista MSDN . Microsoft . Consultado el 11 de abril de 2013 .
- Hashimi, Sayed Ibrahim (febrero de 2009). "MSBuild: mejores prácticas para crear compilaciones confiables, parte 1" . Revista MSDN . Microsoft . Consultado el 11 de abril de 2013 .
- Hashimi, Sayed Ibrahim (marzo de 2009). "MSBuild: mejores prácticas para crear compilaciones confiables, parte 2" . Revista MSDN . Microsoft . Consultado el 11 de abril de 2013 .
- Reif, Andreas (10 de junio de 2010). "Einführung in Microsofts Build-Management-Technik MSBuild" [Introducción a la tecnología de administración de compilaciones de Microsoft, MSBuild]. heise Developer (en alemán). Heinz Heise . Consultado el 11 de abril de 2013 .
- Jones, Mike; Warren, Genevieve; Blome, Mike; Robertson, Colin; Hogenson, Gordon; Cai, Saisang (4 de noviembre de 2016). "Marco de destino de MSBuild y plataforma de destino" . MSBuild. Microsoft Docs . Consultado el 19 de febrero de 2018 .