come cambiare le impostazioni utente .NET posizione
-
22-09-2019 - |
Domanda
Con le impostazioni predefinite sono memorizzate in: C:\Documents and Settings\\Local Settings\Application Data\<Project Name>
Come posso cambiare questo percorso di directory dell'applicazione. Anche io non voglio avere file diversi per i diversi utenti. Come eseguire le impostazioni globali?
Ho provato a cambiare la portata delle impostazioni di "applicazione", ma poi non riesco a cambiare in fase di esecuzione.
Soluzione
Utilizzando un comportamento integrato di default non è possibile!
D: Perché è il percorso così oscura? C'è un modo per cambiare / personalizzare vero?
A: L'algoritmo di costruzione percorso deve soddisfare determinati rigorosi i requisiti in termini di sicurezza, l'isolamento e robustezza. Mentre noi cercato di rendere il percorso come facilmente rilevabile possibile realizzando uso di amichevole, applicazione in dotazione stringhe, non è possibile mantenere il percorso totalmente semplice colpo incorrere in questioni come le collisioni con altre applicazioni, spoofing, ecc.
Il LocalFileSettingsProvider non lo fa fornire un modo per modificare i file in quali impostazioni vengono memorizzate. Nota che il provider in sé non determina le posizioni dei file di configurazione nel primo posto - è la configurazione sistema. Se avete bisogno di memorizzare il impostazioni in una posizione diversa per qualche ragione, il metodo consigliato è quello di scrivere il proprio SettingsProvider. Questo è abbastanza semplice da implementare e voi può trovare i campioni del SDK .NET 2.0 che mostrano come fare questo. Tieni a mente tuttavia, che si può incorrere nella stessa problemi di isolamento di cui sopra.
Sono d'accordo con la risposta di Robert Harvey fai da te, o scrivere un provider di impostazioni personalizzate.
Altri suggerimenti
Non ci sono difficoltà con la modifica a livello di codice le impostazioni per tutti gli utenti (poiché provengono dal file exe.config, che di solito è in Program Files e quindi protetti da accessi in scrittura in sistemi operativi moderni). Si può provare a fare a livello di applicazione delle impostazioni, ma poi usare la ConfigurationManager
a pasticciare con il file di configurazione, in modo simile alla soluzione di questa domanda .