Variabili persistenti di app.config negli aggiornamenti tramite Fare clic una volta dopo la distribuzione

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

Domanda

Ogni volta che viene rilasciato un nuovo aggiornamento per un'applicazione con un clic una volta, le variabili nel file app.config vengono distrutte

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

Come posso impedirlo?

Esiste un modo per ottenere le variabili dalla precedente versione dell'applicazione?

È stato utile?

Soluzione

Disponi di " Le applicazioni dovrebbero verificare la presenza di aggiornamenti " opzione selezionata?

Dai un'occhiata a Exploring Secrets of Persistent Application Settings (la sezione intitolato " Mantenimento delle impostazioni tra le versioni del programma "):

  

Per qualsiasi impostazione dalla corrente   versione che corrisponde alle impostazioni in   versione precedente, questa routine lo farà   importali nella versione corrente   file user.config:

Nel punto di accesso al programma, inserire il seguente codice.

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

Nota che UpgradeSettings è un'impostazione booleana utente (non applicazione) che devi aggiungere tu stesso e desideri che il valore predefinito sia True .

Altri suggerimenti

Se si utilizzano le impostazioni a livello di utente anziché le impostazioni a livello di applicazione, verranno copiate in avanti quando viene recuperata una nuova versione. La cosa più sicura da fare, tuttavia, è separare questi dati dall'aggiornamento ClickOnce, uh, "esperienza". Vedi se questo aiuta:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top