Estamos usando TeamCity para una integración continua y está creando nuestras versiones a través del archivo de solución (.sln). He usado Makefiles en el pasado para varios sistemas pero nunca msbuild (lo que he escuchado es como Makefiles + XML mashup). He visto muchas publicaciones sobre cómo usar msbuild directamente en lugar de los archivos de solución, pero no veo una respuesta muy clara sobre por qué hacerlo.
Entonces, ¿por qué deberíamos molestarnos en migrar de los archivos de solución a un 'makefile' de MSBuild? Tenemos un par de lanzamientos que difieren en un #define (compilaciones emplumadas) pero en su mayor parte todo funciona.
La mayor preocupación es que ahora tendríamos que mantener dos sistemas al agregar proyectos / código fuente.
ACTUALIZAR:
¿Pueden las personas arrojar luz sobre el ciclo de vida y la interacción de los siguientes tres componentes?
- El archivo .sln de Visual Studio
- Los muchos archivos .csproj de nivel de proyecto (que entiendo son secuencias de comandos msbuild "sub")
- El script personalizado de msbuild
¿Es seguro decir que .sln y .csproj se consumen / mantienen como de costumbre desde la GUI de Visual Studio IDE mientras el script msbuild personalizado está escrito a mano y generalmente consume el .csproj individual "como está"? Esa es una forma en que puedo ver reducir la superposición / duplicación en el mantenimiento ...
Agradecería un poco de luz sobre esto de la experiencia operativa de otras personas
Because it's reputed to be better practice
¿dónde?
So, why should we bother migrating from solution files to an MSBuild 'makefile'?
Primero tienes que decirte por qué lo estás considerando? ¿No es suficiente el archivo de solución?