Pregunta

Creo que la mayoría de la gente aquí comprende la importancia de las compilaciones totalmente automatizadas.

El problema es que uno de nuestros proyectos ahora utiliza un proyecto de configuración de Visual Studio integrado (vdproj) y recientemente se ha portado a Visual Studio 2008.Desafortunadamente, estos no se compilarán en MSBuild y la llamada a devenv.exe /build en 2008 simplemente falla, aparentemente lo hace en todas las computadoras multinúcleo (!!!).Así que ahora tengo la opción de retroceder a .Net 2.0 y 2005 o simplemente deshacerme de la implementación de Visual Studio, pero primero, me gustaría una segunda opinión.

¿Alguien conoce otra forma automatizada de crear un .vdproj que no requiera que abramos el IDE y hagamos clic en cosas?


WiX era lo que tenía en mente cuando dije que nos desharíamos de vdproj.¿Tiene alguna experiencia con él, cosas buenas, advertencia?

¿Fue útil?

Solución

La solución de bajo costo es cambiar a ClickOnce, que puede automatizar usando MSBuild.Pero si aún necesita crear un paquete de Windows Installer, deberá convertir su proyecto a WiX (bastante sencillo) y compilarlo con su solución.

Esto le ayudará a empezar:Automatizar lanzamientos con MSBuild y Windows Installer XML

Otros consejos

He usado WiX un poco antes y, en general, descubrí que es genial una vez que sabes qué hacer, pero hay una curva de aprendizaje pronunciada.Si pasas un día entero repasando el tutorial de WiX, deberías poder hacer funcionar el 80% de tu configuración.

Tutorial del conjunto de herramientas WiX

Tenía el mismo requisito y terminé usando lo que se sugiere en estos dos enlaces.

Blog de David Williams

artículo de MSDN

Básicamente, dado que Team Build, por sí solo, no creará los proyectos de configuración por usted, este enfoque le obliga a agregar un nuevo paso de compilación después de que se completa la compilación normal.Este paso inicia una segunda compilación iniciando devenv.exe.El IDE creará sus archivos de configuración.La compilación adicional es un poco costosa, pero solo la necesitábamos para las compilaciones que iban a ser eliminadas.La compilación diaria como máximo necesitaría esta personalización. Nuestra compilación de CI no necesita crear archivos de configuración cada vez.

Después de eso, ejecuta algunos comandos de Copiar, una vez más crea los pasos que aparecen en los resultados de la compilación de tu Team System, para mover los archivos de configuración a un recurso compartido de red, etc.

Al principio se siente un poco como una tontería, pero funciona, también es una parte completa de la compilación automatizada en Team System, por lo que funcionó para mis objetivos de Integración Continua.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top