7

Abbiamo le impostazioni dell'applicazione derivate da ApplicationSettingsBase. Quando ci spingiamo una nuova versione della nostra applicazione abbiamo bisogno di chiamare:. NET ApplicationSettingsBase Dovrei chiamare Upgrade() ogni volta che carico?

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

(dalla meta-dati)

Ora ci sono alcuni modi difficili per determinare se le impostazioni devono essere aggiornati, come this post quale sembrerebbe a me soltanto aggiornare mai le vostre regolazioni una volta. Ora potrei memorizzare la versione corrente della mia applicazione nelle impostazioni e confrontare ogni volta che istanziamo le impostazioni, se è diversa dalla versione corrente, allora potrei aggiornare.

La mia domanda è: perché non chiamare semplicemente Upgrade() ogni volta che istanziamo le impostazioni? In questo modo so che non sarò mai aggiornato.

+1

il collegamento non funziona più – eric1825

+1

Ho trovato una copia memorizzata nella cache dall'archivio Web, quindi ho modificato il collegamento. –

risposta

5

Il metodo descritto nel post collegato funziona. Ho usato quel metodo me stesso. Quando la versione dell'applicazione cambia, le impostazioni verranno ripristinate ai valori predefiniti e la proprietà UpdateRequired sarà true.

Quindi no, non è necessario chiamare Upgrade ogni volta che si avvia l'app.

+0

ovviamente! quando viene installata una nuova versione, viene creata una nuova versione delle impostazioni. Stavo pensando che la vecchia versione sarebbe stata istanziata e poi aggiornata alle nuove impostazioni, quando in effetti le nuove impostazioni importeranno quelle vecchie. –