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
Al presionar f5 para compilar su aplicación, VS invoca a msbuild; msbuild es el detalle de implementación de f5. –