Persistierende app.config Variablen in Updates über Klicken Sie einmal Deployment
-
05-07-2019 - |
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?
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: