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ą Name
właściwości .
Ustawienia aplikacji można przechowywać jako dowolny typ danych, który jest serializowany do formatu XML lub ma TypeConverter
element implementujący ToString
/FromString
element . Najbardziej typowe typy to String
, Integer
i 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 o zakresie aplikacji mogą służyć do obsługi informacji, takich jak adres URL usługi internetowej lub parametry połączenia bazy 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 obsługi informacji, takich jak utrwalanie 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, który jest 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 projektanta projektu.
Użyj okna Właściwości dla formularza lub kontrolki, które umożliwia powiązanie ustawienia z właściwością.
Podczas tworzenia ustawienia o zakresie aplikacji (na przykład parametry połączenia bazy danych lub odwołania do zasobów serwera) program Visual Studio zapisuje je w pliku app.config za pomocą tagu <applicationSettings>
. Parametry połączenia są zapisywane w tagu <connectionStrings>
.
Podczas tworzenia ustawienia o zakresie użytkownika (na przykład czcionki domyślnej, strony głównej lub rozmiaru okna) program Visual Studio zapisuje je w pliku app.config z tagiem <userSettings>
.
Ważne
W przypadku przechowywania parametry połączenia w pliku app.config należy podjąć środki ostrożności, aby uniknąć ujawniania poufnych informacji, takich jak hasła lub ścieżki serwera, w parametry połączenia.
Jeśli użyjesz parametry połączenia informacji ze źródła zewnętrznego, takiego jak użytkownik, który dostarcza identyfikator użytkownika i hasło, upewnij się, że wartości używane do konstruowania parametry połączenia nie zawierają dodatkowych parametrów parametry 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.
Uwaga
Ponieważ nie ma modelu plików konfiguracji dla bibliotek klas, ustawienia aplikacji nie są stosowane dla projektów bibliotek klas. Wyjątkiem jest projekt DLL środowiska uruchomieniowego Visual Studio Tools dla pakietu Office, który może mieć plik konfiguracji.
Używanie 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ń.
Możesz na przykład dodać plik SpecialSettings.settings do projektu. SpecialSettings
Mimo że klasa nie jest uwidoczniona w My
przestrzeni nazw, widok kodu może odczytać plik ustawień niestandardowych, który zawiera Partial Class SpecialSettings
element .
Projektant ustawień najpierw wyszukuje plik Settings.settings tworzony przez system projektu. Ten plik Settings.settings jest plikiem domyślnym wyświetlanym przez projektanta projektów na karcie Ustawienia . Plik Settings.settings znajduje się w folderze Mój projekt dla projektów Visual Basic i w folderze Właściwości dla projektów Visual C#. Następnie Projektant projektu 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, projektant projektu 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 My.Settings
obiektu . Na stronie Ustawienia wybierz przycisk Wyświetl kod, aby wyświetlić 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 My.Settings
obiektu, zobacz Access application settings (.NET Framework)(Uzyskiwanie dostępu do ustawień aplikacji (.NET Framework).
Wartości wszystkich ustawień o zakresie użytkownika, które użytkownik zmienia w czasie wykonywania, na przykład pozycja formularza, są przechowywane w pliku user.config . Wartości domyślne są nadal zapisywane w pliku app.config.
Jeśli jakiekolwiek ustawienia o zakresie użytkownika zostaną zmienione podczas wykonywania, na przykład podczas testowania aplikacji i chcesz zresetować te ustawienia do ich wartości domyślnych, wybierz przycisk Synchronizuj .
Zalecamy używanie My.Settings
obiektu 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 Języka Visual Basic może uzyskiwać bezpośredni dostęp do ustawień. W takim przypadku musisz uzyskać dostęp do MySettings
klasy i użyć niestandardowego pliku .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#, musisz uzyskać bezpośredni dostęp do Settings
klasy, jak pokazano w poniższym przykładzie języka Visual C#.
Properties.Settings.Default.FirstUserSetting = "abc";
Aby utrwał ustawienia użytkownika, należy jawnie wywołać metodę Save
tej klasy otoki. Zazwyczaj robisz to w procedurze Closing
obsługi zdarzeń formularza głównego. Poniższy przykład w języku C# przedstawia wywołanie Save
metody .
Properties.Settings.Default.Save();
Aby uzyskać ogólne informacje na temat uzyskiwania dostępu do ustawień aplikacji za pośrednictwem Settings
klasy, 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 s 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 Modernize po uaktualnieniu do platformy .NET z programu .NET Framework.