2009-06-28 18 views

risposta

13

Le impostazioni dell'utente sono specifiche per l'utente, in modo che non vengano salvate nel file .exe.config, che è a livello di sistema.

Dalla documentazione di LocalSettingsProvider:

Impostazioni applicazione con ambito e le impostazioni utente con ambito predefinite sono memorizzate in un file chiamato application.exe.config, che è creato nella stessa directory come il file eseguibile . Le impostazioni di configurazione dell'applicazione sono di sola lettura. I dati utente specifici sono memorizzati in un file denominato username.config, memorizzato in nella directory home dell'utente.

Così, per un'applicazione UserSettingsTest basta eseguire dal VS sotto il debugger (da qui il bit vshost) ho finito con un percorso di:

C:\Users\Jon\AppData\Local\UserSettingsTest 
    \UserSettingsTest.vshost.e_Url_pdqoppugkz1vaawbhwkkcu5ibxpi2fgu 
    \1.0.0.0\user.config 
+1

Ho WinXP, ma non ho visto alcun file o cartella in C: \ Documents and Settings \ Ryan \ Dati dell'applicazione. È questo il posto giusto? – ryeguy

+0

Um, non sono sicuro su XP. Ci proverò al mattino. –

+3

XP sarà C: \ Documents and Settings \ Ryan \ Impostazioni locali \ Dati applicazioni – csjohnst

0

Tutte le impostazioni di ambito utente salvati sotto i dati delle applicazioni con all'interno di un cartella che indica la versione dell'applicazione e il nome.

È possibile visualizzare queste cartelle facendo clic su "sincronizza" nella finestra di dialogo "Impostazioni applicazione".

In Vista generale:

  • C: \ Users [currentuser] \ AppData \ Local [CompanyName] [AppName] \ versione
  • C: \ Users [currentuser] \ AppData \ Roaming [CompanyName] [AppName] \ versione

fatto in questo modo a causa delle impostazioni sono legati con utente corrente e UAC. In Vista è anche possibile vedere anche le impostazioni a livello di applicazione non sono memorizzate nel file di configurazione.

[CompanyName] e [ProductName] provengono dalle impostazioni delle informazioni dell'assieme.

15

Se hai le informazioni sull'assieme impostato per generare automaticamente qualsiasi numero di versione (1.0. *), Ogni volta che esegui il debug della tua app il numero di versione sarà diverso, quindi creerai un nuovo file ogni volta.

Se questo è il caso, sarà necessario eseguire un aggiornamento sul file di impostazioni:

Properties.Settings.Default.Upgrade() 

È anche possibile impostare una cornice di NeedsUpgrading a true per impostazione predefinita e impostarla su false dopo aver eseguito un aggiornamento così gli utenti finali che non cambiano i numeri di versione ogni volta che l'app viene avviata non eseguono l'aggiornamento in qualsiasi momento

+0

non sapeva che esisteva un metodo chiamato upgrade, pulito. –

+1

Ho usato questo approccio qui e ho avuto successo: http://bytes.com/topic/c-sharp/answers/522191-how-maintain-user-config-settings-when-upgrading –

+0

Risposta stupenda ed elegante suggerimento NeedsUpgrading! – DefenestrationDay

Problemi correlati