Persistiendo las variables app.config en las actualizaciones a través de Haga clic una vez en la implementación

StackOverflow https://stackoverflow.com/questions/622764

Pregunta

Cada vez que se lanza una nueva actualización para una aplicación con un solo clic, las variables en el archivo app.config se destruyen

<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 prevenir eso?

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

¿Fue útil?

Solución

¿Tiene el " Las aplicaciones deben buscar actualizaciones " opción marcada?

Eche un vistazo a Explorando los secretos de la configuración de aplicaciones persistentes (la sección titulado " Mantenimiento de la configuración entre las versiones del programa "):

  

Para cualquier configuración de la actual   versión que coincide con la configuración en el   versión anterior, esta rutina será   Importarlos en la versión actual   archivo user.config:

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 UpgradeSettings es un ajuste booleano de usuario (no de aplicación) que debe agregarse y desea que el valor predeterminado sea True .

Otros consejos

Si usa configuraciones de nivel de usuario en lugar de configuraciones de nivel de aplicación, las copiará hacia adelante cuando se recupere una nueva versión. Sin embargo, lo más seguro es separar estos datos de la actualización de ClickOnce, uh, " experiencia " ;. Mira si esto ayuda:

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

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