Che cos'è il formato di file SETTINGS?
Un file .settings è un documento XML utilizzato da Visual Studio per definire impostazioni utente e dell'applicazione tipizzate e persistenti nei progetti desktop .NET. Si trova nella cartella Properties/ dei progetti C# (o My Project/ in VB.NET) e viene quasi sempre chiamato Settings.settings.
La struttura XML utilizza un elemento radice <SettingsFile> contenente voci <Setting>, ognuna con un nome, un tipo .NET (System.String, System.Drawing.Color, ecc.), un ambito (Application o User) e un valore predefinito. Al momento della compilazione, MSBuild genera una classe wrapper fortemente tipizzata - tipicamente Properties.Settings - in modo che le impostazioni siano accessibili nel codice come Properties.Settings.Default.MySettingName con il supporto completo di IntelliSense.
L'ambito determina il comportamento a runtime:
- Le impostazioni con ambito Application sono di sola lettura a runtime e memorizzate in
app.config/app.exe.config - Le impostazioni con ambito User sono in lettura-scrittura a runtime e persistono in
user.confignella cartella%AppData%dell'utente
Lo schema .settings è rimasto stabile dal .NET Framework 2.0 (Visual Studio 2005) e rimane l'approccio standard per le applicazioni desktop WinForms e WPF fino a .NET 8. Per i nuovi progetti .NET 5+ multipiattaforma, Microsoft raccomanda invece appsettings.json con IConfiguration.
Sicurezza e incolumità
RISCHIO: LOWUn file .settings è semplice XML e non può essere eseguito. Potrebbe contenere informazioni sensibili (stringhe di connessione, chiavi API, nomi utente/password predefiniti) se lo sviluppatore ha memorizzato tali dati nelle impostazioni con ambito Application - ispezionare prima di condividere o inviare al controllo di versione. Le impostazioni con ambito User contenenti dati sensibili sono una preoccupazione se il file user.config in AppData viene esposto.
Dettagli del formato
in sintesi- File di configurazione generici di applicazioni (vari) - Molte applicazioni non .NET e motori di gioco utilizzano .settings come estensione generica per configurazioni in stile XML o INI - non correlati a Visual Studio.
- Impostazioni Unity Editor - Unity Engine utilizza file .settings per alcune preferenze interne dell'editor; formato distinto dai .settings di Visual Studio.
Programmi che aprono file SETTINGS
Dettagli tecnici
specifiche approfondite| Codifica file | Testo UTF-8 (dichiarato nell'intestazione della dichiarazione XML) |
| Tipo MIME | application/xml (alt: text/xml) |
| Elemento XML radice | <SettingsFile> contenente elementi figli <Settings> e <Setting> |
| Tipi di ambito impostazione | Application (sola lettura a runtime, memorizzato in app.config) e User (lettura-scrittura, persistente in user.config) |
| Percorso runtime ambito User | %AppData%\NomeSocietà\NomeApp\Versione\user.config |
| Generazione codice in compilazione | MSBuild genera una classe wrapper Properties.Settings fortemente tipizzata con accessori tipizzati accessibili tramite IntelliSense |
| Nome file standard | Settings.settings (per convenzione; uno per progetto) |
| Posizione cartella progetto | Cartella Properties/ (progetti C#) o cartella My Project/ (progetti VB.NET) |
| Stabilità dello schema | Invariato da .NET Framework 2.0 / VS 2005 fino a .NET 8 / VS 2022 |
| Tipi di valore supportati | Qualsiasi tipo .NET serializzabile: String, Int32, Boolean, Color, Size, stringhe di connessione e tipi personalizzati |
| Sistema operativo | Windows (.NET Framework e carichi di lavoro desktop .NET) |
| Alternativa moderna | appsettings.json + IConfiguration, raccomandato per progetti multipiattaforma .NET 5+ |
| Rilasciato | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Ultima versione | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Specifica | learn.microsoft.com |
Conversioni SETTINGS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file SETTINGS.