2009-03-07 13 views
9

Cada vez que se lanza una nueva actualización para una aplicación con un clic una vez, las variables en el archivo app.config se destruyenvariables de app.config en actualizaciones a través de la implementación Haga clic una vez

<userSettings> 
    <app.My.MySettings> 
     <setting name="Email" serializeAs="String"> 
     <value /> 
     </setting> 
     <setting name="UserName" serializeAs="String"> 
     <value /> 
     </setting> 
    </app.My.MySettings> 
    </userSettings> 

¿Cómo puedo evitar que se ?

¿Hay alguna forma de cargar las variables de la versión de la aplicación anterior?

Respuesta

14

¿Ha marcado la opción "Las aplicaciones deben verificar las actualizaciones"?

Tenga una mirada en Exploring Secrets of Persistent Application Settings (la sección titulada "El mantenimiento de ajustes entre las versiones del programa"):

Para cualquier configuración de la versión actual que coinciden con la configuración de la versión anterior , esta rutina importación en el archivo user.config de la versión actual :

En el punto de entrada a su programa, coloque el siguiente código.

if (Properties.Settings.Default.UpgradeSettings) 
{ 
    Properties.Settings.Default.Upgrade(); 
    Properties.Settings.Default.UpgradeSettings = false; 
} 

Tenga en cuenta que es un valor lógico UpgradeSettings usuario ajuste (no aplicación) que es necesario agregar a sí mismo, y desea que el valor predeterminado sea True.

+2

Tenga en cuenta que es un ajuste UpgradeSettings booleano que es necesario agregar a sí mismo, y desea que el valor por defecto para ser verdad. (Esto se explica en el artículo.) – Pat

+0

Extrañamente, mi sentencia if siempre dice Propiedades. Configuración. Por defecto, Configuración de actualización como falsa, incluso cuando el valor predeterminado es Verdadero. Tuve que cambiar la configuración para que se llamara "upgrade_settings" para que se lea como True, –

Cuestiones relacionadas