Dodałem plik App.config do mojego projektu. Utworzyłem dwa ustawienia z projektu> Właściwości> panel Ustawienia -
Zauważyłem, że dodając ustawienie, mogę zdefiniować zakres jako User
lub Application
. -
- Użytkownik
- Podanie
Jeśli zdefiniuję ustawienie, User
gdy idzie do userSettings
sekcji,
jeśli zdefiniuję ustawienie, Application
gdy idzie do applicationSettings
sekcji
App.config
<configuration>
<userSettings>
<DemoApp.Properties.Settings>
<setting name="MySetting1" serializeAs="String">
<value>Value1</value>
</setting>
</DemoApp.Properties.Settings>
</userSettings>
<applicationSettings>
<DemoApp.Properties.Settings>
<setting name="MySetting2" serializeAs="String">
<value>Value2</value>
</setting>
</DemoApp.Properties.Settings>
</applicationSettings>
</configuration>
Ale dostęp do tych ustawień można uzyskać w ten sam sposób z .cs
-
Kod
string mySetting1 = DemoApp.Properties.Settings.Default.MySetting1;
string mySetting2 = DemoApp.Properties.Settings.Default.MySetting2;
Jaka jest różnica między User
i Application
zakresem oraz w jakich okolicznościach należy wybierać między tymi dwoma?
źródło
Źródło na MSDN: Używanie ustawień w C #
Ustawienia użytkownika służą na ogół do utrwalania preferencji użytkownika (np. Preferencje powiadomień aplikacji itp.). Ustawienia aplikacji zwykle dotyczą elementów, takich jak klucze API itp.
Jak zauważono w @kmote, gdy ustawienia użytkownika zostaną zmodyfikowane i utrwalone w czasie wykonywania (przez
settings.Save()
), zostaną one zapisane w folderze w pamięci profilu użytkownika (zwykle C: \ Users \ Username \ AppData \ Local \ AppName w systemie Windows 7 i nowszych ). W celu programowego określenia lokalizacji pliku, zobacz ten post .źródło
Settings.Save()
), tworzony jest nowy plik konfiguracyjny i jest on ukrywany / chowany w C: \ Users [nazwa użytkownika] \ AppData \ Local \ Microsoft. Od tego momentu przy każdym uruchomieniu aplikacji ustawienia użytkownika będą pobierane wyłącznie z tego pliku, a wszelkie zmiany wprowadzone ręcznie w App.config lub Settings.settings będą ignorowane.