所以我有一些設置是用戶作用域,但由於某些原因,它們沒有被保存到.exe.config文件。我做到以下幾點:爲什麼我的應用程序設置不能持久?
Properties.Settings.Default.Email = "[email protected]";
Properties.Settings.Default.Save();
但我期待在debug文件夾中設置文件,它仍然是我在Visual Studio中設置的默認。我做錯了嗎?
所以我有一些設置是用戶作用域,但由於某些原因,它們沒有被保存到.exe.config文件。我做到以下幾點:爲什麼我的應用程序設置不能持久?
Properties.Settings.Default.Email = "[email protected]";
Properties.Settings.Default.Save();
但我期待在debug文件夾中設置文件,它仍然是我在Visual Studio中設置的默認。我做錯了嗎?
用戶設置是特定於用戶的,因此它們不會被保存回系統範圍的.exe.config文件。
從LocalSettingsProvider
文檔:
應用範圍設置和 默認的用戶範圍設置存儲在一個名爲 application.exe.config文件,該文件是在同一目錄下創建 作爲 可執行文件。應用程序 配置設置是隻讀的。 特定用戶數據存儲在名爲
username.config
的文件 中,存儲在 用戶的主目錄下。
所以對於一個UserSettingsTest應用剛剛從VS我結束了的路徑調試器(因此vshost位)下運行:內根據應用數據保存
C:\Users\Jon\AppData\Local\UserSettingsTest
\UserSettingsTest.vshost.e_Url_pdqoppugkz1vaawbhwkkcu5ibxpi2fgu
\1.0.0.0\user.config
所有的用戶範圍設置指示您的應用程序版本和名稱的文件夾。
您可以在「應用程序設置」對話框中單擊「同步」來查看這些文件夾。
在Vista中一般:
這樣做的話,由於與當前用戶和UAC的相關設置。在Vista中,您甚至可以看到即使應用程序範圍內的設置也不存儲在配置文件中。
[公司名稱]和[產品名稱]來自您的裝配信息設置。
如果您的程序集信息設置爲自動生成任何版本號(1.0。*),那麼每次調試應用程序時,版本號都會有所不同,因此每次都會創建一個新文件。
如果這是你需要的設置文件執行升級的情況:執行升級打完
Properties.Settings.Default.Upgrade()
您還可以通過默認設置的NeedsUpgrading
設置以true
並將其設置爲false每次啓動應用程序時不更改版本號的最終用戶將不會一直升級
我有WinXP,但在C:\ Documents and Settings \ Ryan \中沒有看到任何此類文件或文件夾。應用數據。這是正確的地方嗎? – ryeguy 2009-06-28 19:49:20
恩,不知道在XP上。將在早上嘗試。 – 2009-06-28 20:45:39