Che cos'è il formato di file CONFIG?
I file .config sono comunemente usati all'interno di un sistema come file di configurazione. Utilizzando i file di configurazione, vengono definite varie opzioni, parametri e preferenze all'interno di specifiche applicazioni o dell'intero sistema. Nella maggior parte dei file .config, tutte le proprietà sono memorizzate come testo semplice - il più delle volte come XML, che è il formato utilizzato da Microsoft .NET per App.config (applicazioni desktop) e Web.config (progetti web ASP.NET). Alcuni programmi utilizzano invece un formato chiave=valore in stile INI o YAML.
Il software per computer e i sistemi operativi spesso si affidano a molte impostazioni e parametri necessari per il controllo dei processi in corso. I file .config servono a questo scopo: tra le altre cose, specificano le directory dei file, le stringhe di connessione e gli interruttori di comportamento dell'applicazione. In alcuni programmi, può essere utilizzato più di un file di questo tipo, ma questo si riscontra solitamente in applicazioni più complesse.
- Poiché si tratta di file basati su testo, possono essere modificati con qualsiasi editor di testo semplice, incluso Notepad su Windows. Prima di procedere alla modifica, è necessario familiarizzare con il contenuto del file, poiché modifiche errate possono influire negativamente sul funzionamento dei programmi o del sistema operativo.
- I file
.configdefiniscono il modo in cui un programma si inizializza o opera durante l'esecuzione - la maggior parte delle applicazioni li legge all'avvio. In .NET, il fileApp.configdi un progetto viene copiato e rinominato in<AssemblyName>.exe.confignella cartella di output. - Il runtime .NET legge anche un file
machine.configa livello di sistema e unisce le sue impostazioni con la configurazione dell'applicazione; le impostazioni a livello di app hanno la precedenza sui valori predefiniti della macchina. I formati correlati includono i file .cfg utilizzati da molte applicazioni non-.NET.
Sicurezza e incolumità
RISCHIO: MEDIUMUn file .config testuale è sicuro da aprire e leggere. Il rischio risiede nella MODIFICA: poiché un .config spesso controlla se il programma si avvia (e, per .NET, come si connette ai database), un valore errato, un errore di battitura o un tag XML interrotto possono impedire il funzionamento dell'applicazione. Copiare sempre l'originale in un backup prima di cambiare qualsiasi cosa, modificare con un editor di testo semplice/codice (mai un elaboratore di testi) e cambiare una cosa alla volta. Si noti inoltre che i file .config possono contenere dati sensibili (stringhe di connessione al database, password, chiavi API in Web.config) - trattali come riservati e diffida dei file di configurazione «ottimizzati» scaricati da fonti non attendibili.
Dettagli del formato
in sintesiProgrammi che aprono file CONFIG
Dettagli tecnici
specifiche approfondite| Formato primario | XML - un elemento radice `<configuration>` che racchiude le sezioni `<appSettings>`, `<connectionStrings>` e `<system.*>` nel layout standard .NET |
| Codifica del file | UTF-8 (standard per i file di configurazione XML di .NET; codifica dichiarata nel prologo XML) |
| Tipo MIME | `text/xml` |
| Firma del file | Nessuna universale; la variante XML di .NET inizia con `<?xml ...?>` all'offset 0; le varianti chiave=valore in stile INI non hanno magic bytes |
| Elemento radice (.NET) | `<configuration>` - elemento esterno obbligatorio; i figli come `<appSettings>` e `<connectionStrings>` seguono uno schema imposto dal runtime |
| Meccanismo di lettura runtime | Letto all'avvio dell'applicazione dal `ConfigurationManager` di .NET (o `IConfiguration` in .NET Core / .NET 5+); le modifiche richiedono il riavvio dell'app a meno che non sia configurato esplicitamente un ricaricamento della configurazione |
| Valori predefiniti a livello di macchina | `machine.config` nella cartella di installazione del .NET Framework fornisce i valori predefiniti per tutto il sistema; le impostazioni `.config` dell'applicazione sovrascrivono sempre i valori predefiniti della macchina |
| Trasformazione in fase di build | I file XML Document Transform (`.xdt`) come `App.Debug.config` e `App.Release.config` vengono uniti da MSBuild per produrre file di output specifici per l'ambiente |
| Nome del file distribuito | Per le app desktop .NET l'output viene rinominato in `<AssemblyName>.exe.config`; per ASP.NET il file rimane come `Web.config` nella root web |
| Sezione stringhe di connessione | L'elemento figlio `<connectionStrings>` memorizza le stringhe di connessione al database con nome; l'attributo `providerName` specifica il provider ADO.NET (es. `System.Data.SqlClient`) |
| Formati di testo alternativi | Alcune applicazioni utilizzano `.config` per testo in stile INI `chiave=valore`, YAML o TOML invece di XML - il formato interno è interamente definito dall'applicazione |
| Gestione della sicurezza | IIS blocca l'accesso HTTP diretto ai file `.config` per impostazione predefinita; i valori sensibili come le password possono essere crittografati in loco utilizzando `aspnet_regiis -pe` su Windows |
| Fine riga | In genere CRLF su Windows, LF su Linux/macOS; il parser XML normalizza entrambi |
| Estensioni correlate | `.cfg`, `.ini`, `.conf`, `.xml`, `.json`, `.yaml` |
| Rilasciato | No single origin; .NET App.config/Web.config since .NET Framework 1.0 (2002) |
| Specifica | learn.microsoft.com |
Conversioni CONFIG
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CONFIG.