2010-08-30 440 views
22

Parece que me perdí el Día 1 de MsBuild 101. Me pregunto "¿Qué es lo que hace, qué reemplaza y cuándo lo necesito?" ya que puedo presionar F5 y compilar mi aplicación.MSBuild: ¿Qué es y cuándo lo necesito?

¿Cuál es la imagen más grande que me falta?

+5

Al presionar f5 para compilar su aplicación, VS invoca a msbuild; msbuild es el detalle de implementación de f5. –

Respuesta

29

MSBuild es la plataforma de compilación que habilita toda la actividad de compilación en el mundo de Visual Studio.

Una mejor, el ejemplo más práctico sería afirmar que

1.) Los archivos Csproj (cada proyecto de C#) son archivos msbuild

2.) Al llegar a F5, que, básicamente, (sobresimplificar) llame a msbuild.exe y pase su archivo .csproj.

MSBuild potencia todas las cosas que hacen que "golpear a F5" funcione. Desde crear la carpeta "depurar" o "liberar", hasta colocar referencias en el directorio bin \, invocar CSC ... y todo lo demás ... MSBuild "potencia" todo eso.

Si todo lo que necesitará de una compilación es la salida que F5 le brinda, entonces sabrá todo lo que probablemente necesite saber sobre MSBuild.

En la mayoría de los escenarios de desarrollo comercial/práctico, sin embargo, llegará un momento en el que es necesario personalizar el proceso de compilación. El enfoque más común es automatizar el proceso de compilación (utilizando TeamBuild o algún sistema propio). También puede ser necesario para

  • crear un "empaquetado" despliegue
  • enlace a otra biblioteca fuera de su proyecto que es también activamente están desarrollando
  • publicar su construcción a un FTP y enviar un correo electrónico a una cliente notificándolo de su disponibilidad.

El uso de una plataforma de construcción unificada y extensible (es decir MSBuild) es lo que hace todo esto posible, éstos, sin dejar de ser parte del proceso de construcción ... manteniendo la parte "acumulación" de la línea de desarrollo simple y contenido

+0

¡Gracias por la información de formato 101! – LamonteCristo

1

msbuild se usa cuando desea construir su proyecto desde la línea de comandos. Cada vez que vea un producto de integración continua que construirá automáticamente su proyecto, llamará a msbuild para realizar el paso de compilación real.

+0

¿Por qué no simplemente usar csc? – LamonteCristo

+1

MSbuild usa csc, pero también puede hacer otras cosas. Es NANT de Microsoft. – nportelli

+0

Hay mucho más que simplemente compilarlo; qué pasa si quiere ejecutar pruebas, enviar resultados de pruebas, archivar artefactos de compilación, etc. – dsolimano

2

Es útil cuando se desea no automatizado construye, y tienen que poner en práctica un proceso de construcción

The F5 Key Is Not a Build Process y enlaces en el mismo (por ejemplo this) es una buena lectura en ese sentido.

Además, sus archivos de proyecto de Visual Studio son archivos msbuild. Si desea hacer cosas más avanzadas al compilar (por ejemplo, ejecutar un minificador de JavaScript, tener más control sobre los identificadores de versión autogenerados, el procesamiento posterior de archivos, etc.), tendrá que profundizar en msbuild.

1

Creo que los servidores de compilación deben tener la opción de presionar la tecla F5 de una manera más simple que a través de la API de Windows.

0

Sé que esto es bastante obsoleto, pero esta es mi opinión sobre MSBuild.

Es una herramienta de creación de secuencias de comandos muy similar a ANT. Ambos usan XML para la configuración, por lo que podrás resolverlo bastante rápido. Ambos tienen el concepto de "Objetivos", por ejemplo, muchas más similitudes en el pensamiento, si conoces ANT, el cambio no debería ser difícil.

MSBuild archivos generados a partir de Visual Studio es realmente como los scripts ANT generados que obtienes de Eclipse que crean tus proyectos, recuerda que incluye y define tus dependencias. Puede modificarlos directamente para divertirse y obtener ganancias.

Me gusta MSBuild, corrige algunas de las cosas que me molestan de ANT.

Cuestiones relacionadas