Wat is het CONFIG-bestandsformaat?
.config-bestanden worden binnen een systeem vaak gebruikt als configuratiebestanden. Met behulp van configuratiebestanden worden verschillende opties, parameters en voorkeuren binnen specifieke applicaties of het hele systeem gedefinieerd. In de meeste .config-bestanden worden alle eigenschappen opgeslagen als platte tekst - meestal als XML, het formaat dat Microsoft .NET gebruikt voor App.config (desktopapplicaties) en Web.config (ASP.NET-webprojecten). Sommige programma's gebruiken in plaats daarvan een INI-stijl key=value-formaat of YAML.
Computersoftware en besturingssystemen vertrouwen vaak op vele instellingen en parameters die nodig zijn voor het aansturen van lopende processen. .config-bestanden dienen dit doel - ze specificeren onder andere bestandsmappen, verbindingsreeksen en schakelaars voor applicatiegedrag. In sommige programma's kan meer dan één dergelijk bestand worden gebruikt, maar dit wordt meestal gezien in complexere applicaties.
- Omdat dit tekstgebaseerde bestanden zijn, kunnen ze worden bewerkt met elke platte-teksteditor, inclusief Notepad in Windows. Voordat u gaat bewerken, moet u zich vertrouwd maken met de inhoud van het bestand, aangezien onjuiste wijzigingen de werking van programma's of het besturingssysteem negatief kunnen beïnvloeden.
.config-bestanden definiëren hoe een programma initialiseert of werkt tijdens runtime - de meeste applicaties lezen ze tijdens het opstarten. In .NET wordt deApp.configvan een project gekopieerd en hernoemd naar<AssemblyName>.exe.configin de uitvoermap.- De .NET-runtime leest ook een systeembreed
machine.config-bestand en voegt de instellingen hiervan samen met de applicatieconfiguratie; instellingen op applicatieniveau hebben voorrang op de standaardinstellingen van de machine. Gerelateerde formaten zijn onder meer .cfg-bestanden die door veel niet-.NET-applicaties worden gebruikt.
Beveiliging & veiligheid
RISICO: MEDIUMEen tekstgebaseerd .config-bestand is veilig om te openen en te lezen. Het risico zit in het BEWERKEN: omdat een .config vaak bepaalt of het programma opstart (en, voor .NET, hoe het verbinding maakt met databases), kan een verkeerde waarde, typefout of kapotte XML-tag de werking van de applicatie stoppen. Maak altijd een kopie van het origineel als reservekopie voordat u iets wijzigt, bewerk met een platte-tekst/code-editor (nooit een tekstverwerker) en wijzig één ding tegelijk. Houd er ook rekening mee dat .config-bestanden gevoelige gegevens kunnen bevatten (database-verbindingsreeksen, wachtwoorden, API-sleutels in Web.config) - behandel ze als vertrouwelijk en wees op uw hoede voor gedownloade „geoptimaliseerde” configuratiebestanden van onbetrouwbare bronnen.
Formaatdetails
in een notendopProgramma's die CONFIG-bestanden openen
Technische details
diepe specificaties| Primair formaat | XML - een `<configuration>` root-element dat `<appSettings>`, `<connectionStrings>` en `<system.*>` secties omsluit in de standaard .NET-lay-out |
| Bestandscodering | UTF-8 (standaard voor .NET XML-configuratiebestanden; codering gedeclareerd in de XML-proloog) |
| MIME-type | `text/xml` |
| Bestandssignatuur | Geen universele; de .NET XML-variant begint met `<?xml ...?>` op offset 0; INI-stijl key=value-varianten hebben geen magic bytes |
| Root-element (.NET) | `<configuration>` - vereist buitenste element; onderliggende elementen zoals `<appSettings>` en `<connectionStrings>` volgen een schema dat door de runtime wordt afgedwongen |
| Runtime-leesmechanisme | Gelezen bij het opstarten van de applicatie door de .NET `ConfigurationManager` (of `IConfiguration` in .NET Core / .NET 5+); wijzigingen vereisen een herstart van de app, tenzij een configuratie-reload expliciet is geconfigureerd |
| Standaardinstellingen op machineniveau | `machine.config` in de .NET Framework-installatiemap biedt systeembrede standaardinstellingen; applicatie-`.config`-instellingen overschrijven altijd de machine-standaardinstellingen |
| Transformatie tijdens build | XML Document Transform (`.xdt`)-bestanden zoals `App.Debug.config` en `App.Release.config` worden door MSBuild samengevoegd om omgevingsspecifieke uitvoerbestanden te produceren |
| Geïmplementeerde bestandsnaam | Voor .NET-desktop-apps wordt de uitvoer hernoemd naar `<AssemblyName>.exe.config`; voor ASP.NET blijft het bestand `Web.config` in de web-root |
| Sectie verbindingsreeksen | Het onderliggende element `<connectionStrings>` slaat benoemde database-verbindingsreeksen op; het attribuut `providerName` specificeert de ADO.NET-provider (bijv. `System.Data.SqlClient`) |
| Alternatieve tekstformaten | Sommige applicaties gebruiken `.config` voor INI-stijl `key=value`-tekst, YAML of TOML in plaats van XML - het interne formaat is volledig applicatie-gedefinieerd |
| Beveiligingsafhandeling | IIS blokkeert standaard directe HTTP-toegang tot `.config`-bestanden; gevoelige waarden zoals wachtwoorden kunnen ter plaatse worden versleuteld met `aspnet_regiis -pe` op Windows |
| Regeleinden | Meestal CRLF op Windows, LF op Linux/macOS; de XML-parser normaliseert beide |
| Gerelateerde extensies | `.cfg`, `.ini`, `.conf`, `.xml`, `.json`, `.yaml` |
| Uitgebracht | No single origin; .NET App.config/Web.config since .NET Framework 1.0 (2002) |
| Specificatie | learn.microsoft.com |
CONFIG conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CONFIG-bestanden.