Udostępnij za pośrednictwem


Zarządzanie ustawieniami aplikacji (.NET)

Ustawienia aplikacji umożliwiają dynamiczne przechowywanie informacji o aplikacji. Za pomocą ustawień aplikacji można użyć komputera klienckiego do przechowywania informacji, które nie powinny być uwzględniane w kodzie aplikacji w czasie wykonywania. Ustawienia aplikacji mogą obejmować parametry połączenia, preferencje użytkownika i nie tylko.

Uwaga

Ustawienia aplikacji zastępują właściwości dynamiczne używane we wcześniejszych wersjach programu Visual Studio.

Każde ustawienie aplikacji musi mieć unikatową nazwę. Nazwa może być dowolną kombinacją liter, cyfr lub podkreślenia. Nazwa nie może zaczynać się od liczby i nie może zawierać spacji. Nazwa jest zmieniana za pomocą właściwości Name.

Ustawienia aplikacji mogą być przechowywane jako dowolny typ danych, który jest serializowany do formatu XML lub ma TypeConverter, który implementuje ToString/FromString. Najbardziej typowe typy to String, Integeri Boolean. Możesz również przechowywać wartości jako Color, Objectlub jako parametry połączenia.

Ustawienia aplikacji przechowują również wartość. Wartość jest ustawiana z właściwością Value i musi być zgodna z typem danych ustawienia.

Ponadto ustawienia aplikacji mogą być powiązane z właściwością formularza lub kontrolki w czasie projektowania.

Istnieją dwa typy ustawień aplikacji na podstawie zakresu:

  • Ustawienia w zakresie aplikacji mogą służyć do przechowywania informacji, takich jak adres URL usługi internetowej lub parametr połączenia z bazą danych. Te wartości są skojarzone z aplikacją. W związku z tym użytkownicy nie mogą ich zmieniać w czasie wykonywania.

  • Ustawienia o zakresie użytkownika mogą służyć do przechowywania ostatniej pozycji formularza lub preferencji czcionki. Użytkownicy mogą zmieniać te wartości w czasie wykonywania.

Typ ustawienia można zmienić przy użyciu właściwości Zakres.

System projektu przechowuje ustawienia aplikacji w dwóch plikach XML:

  • Plik app.config tworzony w czasie projektowania podczas tworzenia pierwszego ustawienia aplikacji

  • Plik user.config, który jest tworzony w czasie wykonywania, gdy użytkownik, który uruchamia aplikację, zmienia wartość dowolnego ustawienia użytkownika

Zmiany w ustawieniach użytkownika nie są zapisywane na dysku, chyba że aplikacja wywołuje metodę w tym celu.

Tworzenie ustawień aplikacji w czasie projektowania

W czasie projektowania można utworzyć ustawienia aplikacji na dwa sposoby:

  • Użyj strony Ustawienia w programie Project Designer.

  • Użyj okna właściwości formularza lub kontrolki, które umożliwia powiązanie ustawienia z właściwością.

Podczas tworzenia ustawienia o zakresie aplikacji (na przykład parametrów połączenia bazy danych lub odwołania do zasobów serwera) program Visual Studio zapisuje je w pliku app.config z tagiem <applicationSettings>. Parametry połączenia są zapisywane w tagu <connectionStrings>.

Podczas tworzenia ustawienia użytkownika (na przykład domyślnej czcionki, strony głównej lub rozmiaru okna), Visual Studio zapisuje to w pliku app.config z tagiem <userSettings>.

Ważny

Podczas przechowywania parametrów połączenia w app.confignależy podjąć środki ostrożności, aby uniknąć ujawniania poufnych informacji, takich jak hasła lub ścieżki serwera, w parametrach połączenia.

Jeśli użyjesz informacji o parametrach połączenia z zewnętrznego źródła, takiego jak użytkownik, który dostarcza identyfikator użytkownika i hasło, upewnij się, że wartości używane do konstruowania parametrów połączenia nie zawierają dodatkowych parametrów parametrów połączenia, które zmieniają zachowanie połączenia.

Rozważ użycie funkcji Konfiguracja chroniona do szyfrowania poufnych informacji w pliku konfiguracji. Aby uzyskać więcej informacji, zobacz Ochrona informacji o połączeniu.

Notatka

Ponieważ nie ma modelu plików konfiguracji dla bibliotek klas, ustawienia aplikacji nie są stosowane dla projektów bibliotek klas. Wyjątkiem jest projekt Visual Studio Tools for Office Runtime DLL, który może mieć plik konfiguracji.

Użyj niestandardowych plików ustawień

Do projektu można dodawać dostosowane pliki ustawień w celu wygodnego zarządzania grupami ustawień. Ustawienia zawarte w jednym pliku są ładowane i zapisywane jako jednostka. Przechowywanie ustawień w osobnych plikach dla często używanych i rzadko używanych grup może zaoszczędzić czas ładowania i zapisywania ustawień.

Na przykład, możesz dodać plik SpecialSettings.settings do projektu. Chociaż klasa SpecialSettings nie jest uwidoczniona w przestrzeni nazw My, Wyświetl kod może odczytać plik ustawień niestandardowych zawierający Partial Class SpecialSettings.

Projektant ustawień najpierw wyszukuje plik Settings.settings tworzony przez system projektu. Ten plik Settings.settings jest plikiem domyślnym, który Project Designer jest wyświetlany na karcie Ustawienia. Plik Settings.settings znajduje się w folderze My Project dla projektów Visual Basic oraz w folderze Properties dla projektów Visual C#. Project Designer następnie wyszukuje inne pliki ustawień w folderze głównym projektu. W związku z tym należy umieścić tam plik ustawień niestandardowych. Jeśli dodasz plik .settings w innym miejscu projektu, Project Designer nie będzie mógł go zlokalizować.

Uzyskiwanie dostępu do ustawień aplikacji w środowisku uruchomieniowym lub zmienianie ich w języku Visual Basic

W projektach języka Visual Basic można uzyskać dostęp do ustawień aplikacji w czasie wykonywania przy użyciu obiektu My.Settings. Na stronie Ustawienia wybierz przycisk Wyświetl kod, aby zobaczyć plik Settings.vb. Settings.vb definiuje klasę Settings, która umożliwia obsługę tych zdarzeń w klasie ustawień:

Klasa Settings w Settings.vb jest klasą częściową, która wyświetla tylko kod należący do użytkownika, a nie całą wygenerowaną klasę. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do ustawień aplikacji przy użyciu obiektu My.Settings, zobacz Access application settings (.NET Framework).

Wartości wszystkich ustawień o zakresie użytkownika, które użytkownik zmienia w czasie wykonywania, na przykład położenie formularza, są przechowywane w pliku user.config. Wartości domyślne są nadal zapisywane w app.config.

Jeśli jakiekolwiek ustawienia użytkownika zostaną zmienione podczas działania, na przykład podczas testowania aplikacji, i chcesz zresetować te ustawienia do ich wartości domyślnych, wybierz przycisk Synchronizuj.

Zalecamy użycie obiektu My.Settings i domyślnego pliku .settings w celu uzyskania dostępu do ustawień. Możesz użyć projektanta ustawień, aby przypisać właściwości do ustawień, a także ustawienia użytkownika są automatycznie zapisywane przed zamknięciem aplikacji. Jednak aplikacja Visual Basic może uzyskiwać dostęp do ustawień bezpośrednio. W takim przypadku musisz uzyskać dostęp do klasy MySettings i użyć niestandardowego pliku konfiguracyjnego .settings w katalogu głównym projektu. Przed zakończeniem aplikacji należy zapisać ustawienia użytkownika, tak jak w przypadku aplikacji języka C#, zgodnie z opisem w poniższej sekcji.

Uzyskiwanie dostępu do ustawień aplikacji lub zmienianie ich w czasie wykonywania w języku C#

W językach innych niż Visual Basic, takich jak C#, należy uzyskać bezpośredni dostęp do klasy Settings, jak pokazano w poniższym przykładzie języka Visual C#.

Properties.Settings.Default.FirstUserSetting = "abc";

Aby zachować ustawienia użytkownika, należy jawnie wywołać metodę Save tej klasy opakowania. Zazwyczaj robi się to w procedurze obsługi zdarzeń Closing formularza głównego. Poniższy przykład w języku C# przedstawia wywołanie metody Save.

Properties.Settings.Default.Save();

Aby uzyskać ogólne informacje na temat uzyskiwania dostępu do ustawień aplikacji za pośrednictwem klasy Settings, zobacz Omówienie ustawień aplikacji (.NET Framework).

Migrowanie aplikacji z programu .NET Framework do platformy .NET

Program .NET Framework używa pliku app.config do ładowania ustawień aplikacji, takich jak parametry połączenia i konfiguracja dostawcy dzienników. Nowoczesne platformy .NET używa pliku appsettings.json dla ustawień aplikacji. Aby dowiedzieć się więcej na temat konwertowania plików app.config na appsettings.json, zobacz Modernizowanie po uaktualnieniu do platformy .NET z programu .NET Framework.