Pregunta

Nuestro equipo desarrolla aplicaciones winform distribuidas.Usamos ClickOnce para la implementación y estamos muy satisfechos con él.

Sin embargo, hemos descubierto que el problema con ClickOnce está en creando los despliegues.Tenemos los entornos estándar de desarrollo/prueba/producción y necesitamos poder crear implementaciones para cada uno de ellos que se instalen y actualicen por separado.Además, queremos controlar qué ensamblados se implementan.El hecho de que se haya compilado un ensamblado no significa que queramos implementarlo.

La primera opción obvia para crear implementaciones es Visual Studio.Sin embargo, VS realmente no aborda los problemas mencionados.La siguiente en la fila es la herramienta SDK, Mage.Mage funciona bien, pero crear implementaciones es bastante tedioso y no queremos que todos los desarrolladores tengan nuestro certificado de firma de código y nuestra contraseña.

Lo que terminamos haciendo fue implementar nuestra propia aplicación de implementación que usa la versión de línea de comando de Mage para crear los archivos de manifiesto de ClickOnce.

Estoy satisfecho con nuestra solución actual, pero parece que habría un enfoque aceptado en toda la industria para este problema.¿Está ahí?

¿Fue útil?

Solución

Yo consideraría usar msbuild.Tiene incorporado tareas para manejar implementaciones de un solo clic.Incluí algunas referencias que te ayudarán a comenzar, si quieres seguir este camino.Es lo que uso y he encontrado que se adapta a mis necesidades.Con un buen proceso de construcción usando msbuild, debería poder aplastar los dolores que ha sentido.

Aquí está publicación detallada sobre cómo funciona la generación de manifiestos ClickOnce con MsBuild.

Otros consejos

He usado nAnt para ejecutar la estrategia de compilación general, pero pasé parámetros a MSBuild para compilar y crear el paquete de implementación.

Básicamente, nAnt llama a MSBuild para cada entorno en el que necesita implementar y genera una salida de implementación separada para cada uno.Terminará con una carpeta y todos los archivos ClickOnce que necesita para cada entorno, que puede simplemente copiar al servidor.

Así es como también manejamos múltiples entornos de producción: teníamos instancias separadas de nuestra aplicación para EE. UU., Canadá y Europa, por lo que cada compilación terminaría creando nueve implementaciones, tres para desarrollo, control de calidad y producción.

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