Co to jest format pliku SETTINGS?
Plik .settings to dokument XML używany przez Visual Studio do definiowania typowanych, trwałych ustawień aplikacji i użytkownika w projektach desktopowych .NET. Znajduje się on w folderze Properties/ projektów C# (lub My Project/ w VB.NET) i prawie zawsze nosi nazwę Settings.settings.
Struktura XML wykorzystuje element główny <SettingsFile> zawierający wpisy <Setting>, z których każdy posiada nazwę, typ .NET (System.String, System.Drawing.Color itp.), zakres (Application lub User) oraz wartość domyślną. W czasie kompilacji MSBuild generuje silnie typowaną klasę opakowującą - zazwyczaj Properties.Settings - dzięki czemu dostęp do ustawień w kodzie odbywa się poprzez Properties.Settings.Default.MySettingName z pełnym wsparciem IntelliSense.
Zakres (Scope) określa zachowanie w czasie wykonywania:
- Application-scope (zakres aplikacji) - ustawienia są tylko do odczytu w czasie wykonywania i przechowywane w
app.config/app.exe.config. - User-scope (zakres użytkownika) - ustawienia są do odczytu i zapisu w czasie wykonywania i utrwalane w pliku
user.configw folderze użytkownika%AppData%.
Schemat .settings jest stabilny od czasu .NET Framework 2.0 (Visual Studio 2005) i pozostaje standardowym podejściem dla aplikacji desktopowych WinForms i WPF aż do .NET 8. W przypadku nowszych, wieloplatformowych projektów .NET 5+, Microsoft zaleca zamiast tego użycie appsettings.json wraz z IConfiguration.
Bezpieczeństwo
RYZYKO: LOWPlik .settings to zwykły XML i nie może być wykonywany. Może zawierać wrażliwe informacje (parametry połączenia, klucze API, domyślne nazwy użytkowników/hasła), jeśli programista zapisał takie dane w ustawieniach o zakresie Application - należy go sprawdzić przed udostępnieniem lub przesłaniem do systemu kontroli wersji. Ustawienia o zakresie User zawierające wrażliwe dane stanowią problem, jeśli plik user.config w AppData zostanie ujawniony.
Szczegóły formatu
w pigułce- Ogólne pliki konfiguracji aplikacji (różne) - Wiele aplikacji spoza ekosystemu .NET oraz silników gier używa rozszerzenia .settings jako ogólnego formatu dla konfiguracji XML lub w stylu INI - nie są one powiązane z Visual Studio.
- Ustawienia edytora Unity - Unity Engine używa plików .settings dla niektórych wewnętrznych preferencji edytora; jest to format odrębny od .settings w Visual Studio.
Programy otwierające pliki SETTINGS
Szczegóły techniczne
specyfikacja| Kodowanie pliku | Tekst UTF-8 (zadeklarowany w nagłówku deklaracji XML) |
| Typ MIME | application/xml (alternatywnie: text/xml) |
| Główny element XML | <SettingsFile> zawierający elementy podrzędne <Settings> i <Setting> |
| Typy zakresu ustawień | Application (tylko do odczytu, w app.config) oraz User (odczyt-zapis, w user.config) |
| Ścieżka uruchomieniowa zakresu User | %AppData%\NazwaFirmy\NazwaAplikacji\Wersja\user.config |
| Generowanie kodu podczas kompilacji | MSBuild generuje silnie typowaną klasę opakowującą Properties.Settings z typowanymi akcesorami dostępnymi przez IntelliSense |
| Standardowa nazwa pliku | Settings.settings (konwencjonalnie; jeden na projekt) |
| Lokalizacja w folderze projektu | Folder Properties/ (projekty C#) lub folder My Project/ (projekty VB.NET) |
| Stabilność schematu | Niezmieniony od .NET Framework 2.0 / VS 2005 do .NET 8 / VS 2022 |
| Obsługiwane typy wartości | Dowolny serializowalny typ .NET: String, Int32, Boolean, Color, Size, parametry połączenia i typy niestandardowe |
| System operacyjny | Windows (.NET Framework i obciążenia desktopowe .NET) |
| Nowoczesna alternatywa | appsettings.json + IConfiguration, zalecane dla wieloplatformowych projektów .NET 5+ |
| Wydano | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Najnowsza wersja | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Specyfikacja | learn.microsoft.com |
Konwersje SETTINGS
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki SETTINGS.