Myślałem, że to wiem, ale dzisiaj udowodniono mi, że się mylę - znowu.
Uruchamianie VS2008, .NET 3.5 i C #. Dodałem ustawienia użytkownika do zakładki Ustawienia właściwości z wartościami domyślnymi, a następnie wczytułem je za pomocą tego kodu:
myTextBox.Text = Properties.Settings.Default.MyStringProperty;
Następnie, po edycji przez użytkownika wartości w oknie dialogowym opcji, zapisuję ją w następujący sposób:
Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();
Moje pytanie brzmi: gdzie jest zapisana ta nowa wartość? plik MyApp.exe.config w katalogu wykonywalnym nie jest aktualizowany, nadal zawiera wartości domyślne. Poza tym, o ile wiem, żaden z innych plików w tym katalogu też nie jest aktualizowany! Jednak gdy program wczyta wartość z powrotem, pobiera zmienioną wartość, więc wiem, że jest gdzieś zapisana ...
To nie jest tylko kwestia naukowa. Musiałem mieć możliwość ręcznej edycji wartości dziś rano i wpadłem w zakłopotanie, gdy nie mogłem znaleźć niczego, co się zmienia.
Odpowiedzi:
Aby pracować z nowszymi wersjami zasad systemu Windows, które domyślnie zezwalają tylko na dostęp do odczytu do folderu Program Files (chyba że monit o podniesienie uprawnień z UAC, ale to inny temat ...), aplikacja będzie miała folder ustawień w obszarze
%userprofile%\appdata\local
lub%userprofile%\Local Settings\Application Data
w zależności od używanej wersji systemu Windows, dla ustawień specyficznych dla użytkownika. Jeśli przechowujesz ustawienia dla wszystkich użytkowników, będą one znajdować się w odpowiednim folderze w ramachC:\users
lubC:\Documents and Settings
dla wszystkich profili użytkowników (np .:)C:\users\public\appdata\local
.źródło
Możesz uzyskać ścieżkę programowo:
źródło
Roaming
czy możeLocalLow
zamiastLocal
?ConfigurationUserLevel
zależy od profilu użytkownika mobilnego lub lokalnego. W firmach jest to często roaming.Dzięki za wskazanie mi właściwego kierunku. Znalazłem user.config znajdujący się pod tym monstrum: c: \ users \ USER \ AppData \ Local \ COMPANY \ APPLICATION.exe_Url_LOOKSLIKESOMEKINDOFHASH \ VERSION \ user.config.
Musiałem zaktualizować wersję mojej aplikacji i wydawało się, że wszystkie ustawienia zniknęły. aplikacja utworzyła nowy folder z nową wersją i użyła ustawień domyślnych. znalezienie miejsca przechowywania pliku trwało wieki, ale wystarczyło go skopiować i wkleić, aby uzyskać ustawienia do nowej wersji.
źródło
jest ona zapisana w Documents and Settings \% user% \ Local Danych Settings \ Application ...... etc szukać pliku o nazwie user.config tam
lokalizacja może się jednak zmienić.
źródło
Jedna z moich usług systemu Windows jest zalogowana jako system lokalny w systemie Windows Server 2016 i mogę znaleźć plik user.config w C: \ Windows \ SysWOW64 \ config \ systemprofile \ AppData \ Local \ {nazwa aplikacji}.
Myślę, że najłatwiejszym sposobem jest wyszukanie nazwy aplikacji na dysku C, a następnie sprawdzenie, gdzie jest plik user.config
źródło
Ustawienia specyficzne dla użytkownika są zapisywane w folderze danych aplikacji użytkownika dla tej aplikacji. Poszukaj
user.config
pliku.Nie wiem, czego się spodziewałeś, ponieważ użytkownicy często nie mają nawet prawa zapisu do katalogu wykonywalnego.
źródło
Są zapisywane w
YOUR_APP.exe.config
, plik jest zapisywany w tym samym folderze coYOUR_APP.exe
plik,<userSettings>
sekcja:tutaj jest kod cs:
źródło
Dla każdego, kto zastanawia się, gdzie są ustawienia aplikacji ze sklepu Microsoft Store, są one albo w WindowsApps, który jest bardzo zablokowany, ale możesz się tam dostać, otwierając aplikację, a następnie otwierając ścieżkę do pliku za pomocą Menedżera zadań.
Ale bardziej prawdopodobne jest, że zostaną zapisane w
C:\Users\[USERNAME]\AppData\Local\Packages\[NUMBERS][COMPANY].[APPLICATION]_[RANDOMDATA]\LocalCache\Local\[COMPANY]\[APPLICATION].exe_Url_[RANDOMDATA]\[VERSION]\user.config.
źródło
W folderze głównym projektu znajduje się folder „Właściwości”, w którym znajduje się plik * .settings. Tam jest przechowywany.
źródło