2010-02-16 15 views
5

Estoy usando VS2008 para publicar mis archivos de aplicaciones usando ClickOnce. Leí en alguna parte que ClickOnce hace inteligentemente solo actualizaciones parciales; lo que significa que solo descarga archivos de la red compartida si el archivo ha cambiado en las actualizaciones posteriores. Sin embargo, esto no estaba funcionando para mí. Así que investigué un poco y encontré este artículo de MSDN: http://msdn.microsoft.com/en-us/library/ms404267.aspx. Dice que si construimos usando VS, no realiza las actualizaciones parciales. ¿Alguien puede decirme por qué este es el caso? Si es así, ¿hay alguna forma de que al menos los dlls referenciados se descarguen por primera vez? Estoy usando Microsoft Practices Enterprise Library y algunos controles de terceros (con enormes archivos de temas).Actualizaciones de aplicaciones parciales en ClickOnce usando Visual Studio compilación

Gracias, Uniball

Respuesta

7

actualizaciones parciales funcionan bien en ClickOnce incluso cuando la construcción en VS. Sin embargo, si tiene una solución compuesta de unos pocos proyectos (por ejemplo, un par de proyectos de biblioteca de clase y un ejecutable), cada vez que reconstruya todos los proyectos, la marca de tiempo en los archivos de ensamblaje cambiará, incluso si el código no lo ha hecho. Como ClickOnce realmente solo mira las marcas de tiempo para decidir si un archivo necesita actualización, desplegará los ensamblajes (sin cambios) como nuevos archivos cuando el usuario se actualice.

La solución consiste en extraer cualquier proyecto dependiente del archivo de solución de su ejecutable y compilarlo por separado. Eso significa que cualquier ensamblaje cuyo código no cambie muy a menudo solo se reducirá al cliente una vez. Si necesita cambiar el ensamblaje, simplemente abra su solución y realice el cambio, luego vuelva a abrir la solución del ejecutable y reconstruya eso. La próxima actualización ClickOnce desplegará tanto el ensamblado ejecutable como el ejecutable modificado.

Espero que sea lo suficientemente claro!

+0

Gracias! Eso aclaró las cosas. – user274816

+0

Si prueba esto y encuentra que todavía está descargando los dll, dígalo con fuerza. Creo que deben tener un nombre fuerte para que ClickOnce NO los descargue, incluso si las versiones no han cambiado. – RobinDotNet

+0

Para nuestra aplicación, hemos tenido que configurar la aplicación de indicador de plena confianza en la configuración del proyecto para la actualización parcial de dll, no solo para asignar un nombre fuerte – VMAtm

Cuestiones relacionadas