7

Wir haben Anwendungseinstellungen von ApplicationSettingsBase abgeleitet. Wenn wir eine neue Version unserer App Push müssen wir rufen:.NET ApplicationSettingsBase Sollte ich bei jedem Ladevorgang Upgrades() aufrufen?

// 
    // Summary: 
    //  Updates application settings to reflect a more recent installation of the 
    //  application. 
    public virtual void Upgrade(); 

(aus der Meta-Daten)

Nun gibt es einige knifflige Möglichkeiten, um festzustellen, ob Ihre Einstellungen aktualisiert werden müssen wie this post Das scheint mir nur einmal deine Einstellungen zu verbessern. Jetzt konnte ich die aktuelle Version meiner Anwendung in den Einstellungen speichern und vergleichen, wenn ich die Einstellungen instanziiere, wenn es sich von der aktuellen Version unterscheidet, dann könnte ich upgraden.

Meine Frage ist, warum nicht einfach Upgrade() jedes Mal aufrufen, wenn ich die Einstellungen instanziiere? So weiß ich, dass ich nie veraltet sein werde.

+1

der Link funktioniert nicht mehr – eric1825

+1

Ich habe eine zwischengespeicherte Kopie aus dem Webarchiv gefunden, also den Link dazu geändert. –

Antwort

5

Die im verknüpften Post beschriebene Methode funktioniert. Ich habe diese Methode selbst benutzt. Wenn sich Ihre Anwendungsversion ändert, werden die Einstellungen auf ihre Standardwerte zurückgesetzt und die UpdateRequired-Eigenschaft lautet true.

Also nein, Sie müssen nicht jedes Mal, wenn Ihre App startet, Upgrade anrufen.

+0

natürlich! Wenn eine neue Version installiert wird, wird eine neue Version der Einstellungen erstellt. Ich dachte, dass die alte Version instanziiert und dann auf die neuen Einstellungen aktualisiert würde, wenn die neuen Einstellungen tatsächlich die alten importieren würden. –

Verwandte Themen