148 votos

¿Cómo mantener la configuración user.config través de diferentes versiones de montaje en .net?

Básicamente el problema es que cada vez que la asamblea cambios de versión (es decir, el usuario instala una nueva versión de la aplicación) todos sus ajustes se restablecen los valores predeterminados de la (o más exactamente de un nuevo usuario.archivo de configuración es creado en una carpeta con un número de versión diferente como el nombre)

¿Cómo puedo mantener la misma configuración cuando la actualización de las versiones, ya que el uso de los archivos ini o el registro parecen estar desanimado?

Cuando hemos utilizado Clickonce parecía ser capaz de manejar esto, por lo que parece que debería ser capaz de hacer, pero no estoy seguro de cómo.

238voto

Markus Olsson Puntos 12651

ApplicationSettingsBase tiene un método llamado de Actualización que migra todas las configuraciones de la versión anterior.

Con el fin de ejecutar la combinación cada vez que publique una nueva versión de su aplicación se puede definir un indicador booleano en el archivo de configuración que por defecto true. El nombre UpgradeRequired o algo similar.

Luego, en el inicio de la aplicación verifique para ver si se establece el indicador y si lo es, llamar al método de Actualización, establezca la bandera falsa y guardar su configuración.

if (Settings.Default.UpgradeRequired)
{
    Settings.Default.Upgrade();
    Settings.Default.UpgradeRequired = false;
    Settings.Default.Save();
}

Lea más sobre el método de Actualización en MSDN. El GetPreviousVersion también podría ser digno de una mirada si necesita hacer alguna costumbre de combinar.

0voto

JMD Puntos 4784

Si los cambios para el usuario.los ajustes se realizan mediante programación, acerca de cómo mantener una copia de (sólo) las modificaciones del usuario.la configuración en un archivo independiente, por ejemplo, usuario.personalizado.la configuración?

Lo más probable es que desea mantener y cargar la configuración modificada en el usuario.configuración así. Pero de esta manera cuando instala una versión más reciente de la aplicación con su versión más reciente de usuario.la configuración puede preguntar al usuario si desea continuar con el uso de su configuración modificada por copiarlos de nuevo en el nuevo usuario.configuración. Usted puede importarlos al por mayor, o llegar más elegante y pedir al usuario que confirme que la configuración que desea seguir utilizando.

EDIT: he leído muy rápidamente sobre el "más exactamente" parte acerca de las versiones de asamblea causando un nuevo usuario.la configuración que se instala en una nueva versión-directorio específico. Por lo tanto, la idea de arriba probablemente no te ayuda, pero puede proporcionar algo de comida para el pensamiento.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X