Frage

Jedes Mal, wenn ein neues Update wird einmal für eine Anwendung mit Klick freigegeben wird, werden die Variablen in der Datei app.config zerstört

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

Wie kann ich das verhindern?

Gibt es eine Möglichkeit, die Variablen aus der vorherigen Version der Anwendung von feching?

War es hilfreich?

Lösung

Haben Sie die Option haben "Anwendungen sollten auf Updates prüfen" überprüft?

Hier finden Sie aktuelle Secrets of Persistent Anwendungseinstellungen Exploring (Abschnitt der Titel „Wartung Einstellungen zwischen Programmversionen“):

  

Für alle Einstellungen aus dem aktuellen   Version, die Einstellungen im Match   frühere Version, diese Routine   sie in die aktuelle Version des importieren   user.config Datei:

Am Einstiegspunkt in Ihrem Programm den folgenden Code ein.

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

Beachten Sie, dass UpgradeSettings ist ein boolean Benutzer Einstellung (nicht Anwendung), die Sie selbst hinzufügen müssen, und Sie wollen, dass der Standardwert True werden.

Andere Tipps

Wenn Sie auf Benutzerebene Einstellungen verwenden, anstatt auf Anwendungsebene Einstellungen, es wird sie nach vorne kopieren, wenn eine neue Version abgerufen wird. Das sicherste, was zu tun ist jedoch, diese Daten aus dem Clickonce-Update zu trennen, äh, „Erfahrung“. Prüfen Sie, ob das hilft:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top