Hvad er SETTINGS-filformatet?
En .settings-fil er et XML-dokument, der bruges af Visual Studio til at definere typede, persistente applikations- og brugerindstillinger i .NET-skrivebordsprojekter. Den findes i mappen Properties/ i C#-projekter (eller My Project/ i VB.NET) og hedder næsten altid Settings.settings.
XML-strukturen bruger et <SettingsFile>-rodelement, der indeholder <Setting>-poster, hver med et navn, en .NET-type (System.String, System.Drawing.Color osv.), et omfang (Application eller User) og en standardværdi. Ved kompilering genererer MSBuild en stærkt typet wrapper-klasse - typisk Properties.Settings - så indstillinger tilgås i koden som Properties.Settings.Default.MySettingName med fuld IntelliSense-understøttelse.
Omfanget (scope) bestemmer runtime-adfærden:
- Application-scope indstillinger er skrivebeskyttede ved runtime og gemmes i
app.config/app.exe.config - User-scope indstillinger er læse-skrive ved runtime og gemmes i
user.configi brugerens%AppData%-mappe
.settings-skemaet har været stabilt siden .NET Framework 2.0 (Visual Studio 2005) og forbliver standardmetoden for WinForms- og WPF-skrivebordsapplikationer frem til .NET 8. For nyere cross-platform .NET 5+-projekter anbefaler Microsoft i stedet appsettings.json med IConfiguration.
Sikkerhed og tryghed
RISIKO: LOWEn .settings-fil er ren XML og kan ikke eksekveres. Den kan indeholde følsomme oplysninger (forbindelsesstrenge, API-nøgler, standardbrugernavne/adgangskoder), hvis udvikleren har gemt sådanne data i Application-scope indstillinger - inspicer før deling eller commit til versionsstyring. User-scope indstillinger, der indeholder følsomme data, er en bekymring, hvis user.config i AppData bliver eksponeret.
Formatdetaljer
kort fortalt- Generiske applikationskonfigurationsfiler (diverse) - Mange ikke-.NET-applikationer og spilmotorer bruger .settings som en generisk filendelse til XML- eller INI-lignende konfiguration - ikke relateret til Visual Studio.
- Unity Editor-indstillinger - Unity Engine bruger .settings-filer til visse interne editor-præferencer; et andet format end Visual Studio .settings.
Programmer der åbner SETTINGS-filer
Tekniske detaljer
dyb specifikation| Filkodning | UTF-8 tekst (angivet i XML-deklarationshovedet) |
| MIME-type | application/xml (alt: text/xml) |
| XML-rodelement | <SettingsFile> indeholdende <Settings> og <Setting> under-elementer |
| Indstillingers scope-typer | Application (skrivebeskyttet ved runtime, gemt i app.config) og User (læse-skrive, gemt i user.config) |
| Runtime-sti for User-scope | %AppData%\CompanyName\AppName\Version\user.config |
| Kodegenerering ved build | MSBuild genererer en stærkt typet Properties.Settings wrapper-klasse med IntelliSense-tilgængelige typede accessorer |
| Standard filnavn | Settings.settings (efter konvention; én per projekt) |
| Placering i projektmappe | Properties/ mappen (C#-projekter) eller My Project/ mappen (VB.NET-projekter) |
| Skema-stabilitet | Uændret fra .NET Framework 2.0 / VS 2005 til .NET 8 / VS 2022 |
| Understøttede værdi-typer | Enhver serialiserbar .NET-type: String, Int32, Boolean, Color, Size, forbindelsesstrenge og brugerdefinerede typer |
| Operativsystem | Windows (.NET Framework og .NET skrivebords-workloads) |
| Moderne alternativ | appsettings.json + IConfiguration, anbefalet til .NET 5+ cross-platform projekter |
| Udgivet | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Seneste version | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Specifikation | learn.microsoft.com |
SETTINGS-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om SETTINGS-filer.