Hva er SETTINGS-filformatet?
En .settings-fil er et XML-dokument som brukes av Visual Studio for å definere typede, persistente applikasjons- og brukerinnstillinger i .NET-skrivebordsprosjekter. Den ligger i Properties/-mappen i C#-prosjekter (eller My Project/ i VB.NET) og heter nesten alltid Settings.settings.
XML-strukturen bruker et <SettingsFile>-rotelement som inneholder <Setting>-oppføringer, hver med et navn, en .NET-type (System.String, System.Drawing.Color, osv.), et omfang (Application eller User), og en standardverdi. Ved kompilering genererer MSBuild en sterkt typet wrapper-klasse - vanligvis Properties.Settings - slik at innstillinger aksesseres i kode som Properties.Settings.Default.MySettingName med full IntelliSense-støtte.
Omfang (scope) bestemmer oppførsel ved kjøretid:
- Application-scope innstillinger er skrivebeskyttet ved kjøretid og lagres i
app.config/app.exe.config - User-scope innstillinger er skrivbare ved kjøretid og lagres i
user.configi brukerens%AppData%-mappe
.settings-skjemaet har vært stabilt siden .NET Framework 2.0 (Visual Studio 2005) og forblir standardmetoden for WinForms- og WPF-skrivebordsapplikasjoner gjennom .NET 8. For nyere plattformuavhengige .NET 5+-prosjekter anbefaler Microsoft appsettings.json med IConfiguration i stedet.
Sikkerhet og trygghet
RISIKO: LOWEn .settings-fil er ren XML og kan ikke kjøres. Den kan inneholde sensitiv informasjon (tilkoblingsstrenger, API-nøkler, standard brukernavn/passord) hvis utvikleren har lagret slike data i Application-scope innstillinger - inspiser før deling eller innsending til versjonskontroll. User-scope innstillinger som inneholder sensitive data er en bekymring hvis user.config i AppData blir eksponert.
Formatdetaljer
i et nøtteskall- Generiske applikasjonskonfigurasjonsfiler (diverse) - Mange applikasjoner som ikke er .NET og spillmotorer bruker .settings som en generisk utvidelse for XML eller INI-stil konfigurasjon - urelatert til Visual Studio.
- Unity Editor-innstillinger - Unity Engine bruker .settings-filer for enkelte interne editor-preferanser; et annet format enn Visual Studio .settings.
Programmer som åpner SETTINGS-filer
Tekniske detaljer
dyp spesifikasjon| Filkoding | UTF-8 tekst (deklarert i XML-deklarasjonshodet) |
| MIME-type | application/xml (alt: text/xml) |
| Rot-XML-element | <SettingsFile> som inneholder <Settings> og <Setting> underelementer |
| Typer innstillingsomfang | Application (skrivebeskyttet ved kjøretid, lagret i app.config) og User (skrivbar, lagret i user.config) |
| Kjøretidssti for User-omfang | %AppData%\CompanyName\AppName\Version\user.config |
| Kodegenerering ved bygging | MSBuild genererer en sterkt typet Properties.Settings wrapper-klasse med IntelliSense-tilgjengelige typede aksessorer |
| Standard filnavn | Settings.settings (etter konvensjon; én per prosjekt) |
| Plassering i prosjektmappe | Properties/-mappe (C#-prosjekter) eller My Project/-mappe (VB.NET-prosjekter) |
| Skjemastabilitet | Uendret fra .NET Framework 2.0 / VS 2005 gjennom .NET 8 / VS 2022 |
| Støttede verdityper | Enhver serialiserbar .NET-type: String, Int32, Boolean, Color, Size, tilkoblingsstrenger og egendefinerte typer |
| Operativsystem | Windows (.NET Framework og .NET skrivebordsarbeidsbelastninger) |
| Moderne alternativ | appsettings.json + IConfiguration, anbefalt for .NET 5+ plattformuavhengige prosjekter |
| Utgitt | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Siste versjon | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Spesifikasjon | learn.microsoft.com |
SETTINGS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om SETTINGS-filer.