Vad är filformatet SETTINGS?
En .settings-fil är ett XML-dokument som används av Visual Studio för att definiera typade, persistenta applikations- och användarinställningar i .NET-skrivbordsprojekt. Den finns i mappen Properties/ i C#-projekt (eller My Project/ i VB.NET) och heter nästan alltid Settings.settings.
Strukturen i XML använder ett <SettingsFile>-rotelement som innehåller <Setting>-poster, var och en med ett namn, en .NET-typ (System.String, System.Drawing.Color, etc.), ett omfång (Application eller User) och ett standardvärde. Vid kompilering genererar MSBuild en starkt typad wrapper-klass - vanligtvis Properties.Settings - så att inställningar kan nås i koden som Properties.Settings.Default.MySettingName med fullt stöd för IntelliSense.
Omfånget (scope) avgör beteendet vid körning:
- Application-scope inställningar är skrivskyddade vid körning och lagras i
app.config/app.exe.config - User-scope inställningar är läs- och skrivbara vid körning och sparas i
user.configi användarens mapp%AppData%
Schemat för .settings har varit stabilt sedan .NET Framework 2.0 (Visual Studio 2005) och förblir standardmetoden för WinForms- och WPF-skrivbordsapplikationer genom .NET 8. För nyare plattformsoberoende .NET 5+-projekt rekommenderar Microsoft istället appsettings.json med IConfiguration.
Säkerhet & trygghet
RISK: LOWEn .settings-fil är ren XML och kan inte köras. Den kan innehålla känslig information (anslutningssträngar, API-nycklar, standardanvändarnamn/lösenord) om utvecklaren lagrat sådana data i Application-scope-inställningar - granska före delning eller incheckning i versionshantering. User-scope-inställningar som innehåller känsliga data är en risk om user.config i AppData exponeras.
Formatdetaljer
i ett nötskal- Generiska konfigurationsfiler för applikationer (olika) - Många icke-.NET-applikationer och spelmotorer använder .settings som en generisk filändelse för XML- eller INI-liknande konfiguration - orelaterat till Visual Studio.
- Unity Editor-inställningar - Unity Engine använder .settings-filer för vissa interna inställningar i editorn; ett annat format än Visual Studio .settings.
Program som öppnar SETTINGS-filer
Tekniska detaljer
djup specifikation| Filkodning | UTF-8 text (deklarerad i XML-deklarationshuvudet) |
| MIME-typ | application/xml (alt: text/xml) |
| XML-rotelement | <SettingsFile> som innehåller underlementen <Settings> och <Setting> |
| Typer av inställningsomfång | Application (skrivskyddad vid körning, lagras i app.config) och User (läs/skriv, sparas i user.config) |
| Sökväg för User-scope vid körning | %AppData%\CompanyName\AppName\Version\user.config |
| Kodgenerering vid bygge | MSBuild genererar en starkt typad Properties.Settings-wrapperklass med IntelliSense-åtkomliga typade accessorer |
| Standardfilnamn | Settings.settings (enligt konvention; en per projekt) |
| Placering i projektmapp | Mappen Properties/ (C#-projekt) eller mappen My Project/ (VB.NET-projekt) |
| Schemastabilitet | Oförändrad från .NET Framework 2.0 / VS 2005 till .NET 8 / VS 2022 |
| Värdetyper som stöds | Alla serialiserbara .NET-typer: String, Int32, Boolean, Color, Size, anslutningssträngar och anpassade typer |
| Operativsystem | Windows (.NET Framework och .NET-skrivbordsarbetsbelastningar) |
| Modernt alternativ | appsettings.json + IConfiguration, rekommenderas för plattformsoberoende .NET 5+-projekt |
| Släppt | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Senaste version | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Specifikation | learn.microsoft.com |
SETTINGS-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om SETTINGS-filer.