2011-08-16 99 views
0

我正在讀取和寫入用戶設置的app.config文件。我找到了一個用於處理confige文件的代碼片段。我終於獲得了它的編譯和運行,但它似乎完全沒有對App.config文件做任何事情。在app.config文件中寫入/讀取用戶定義的設置

下面是代碼:

Method MainForm1.Button1.Click(sender: System.Object; e: System.EventArgs); 
var 
config : System.Configuration.Configuration; 
begin 
    config:=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
    config.AppSettings.Settings.Add('PreferenceToRemember','value1'); 
    config.Save(ConfigurationSaveMode.Modified); 
    ConfigurationManager.RefreshSection('appSettings'); 
end; 

它沒有任何錯誤的編譯,但我不知道這是否是做任何事情。

代碼有問題嗎?我需要能夠寫/讀一個部分並寫/讀一個鍵/值。提前致謝。

更新:而不是使用ConfigurationManager,我只是使用Properties.Settings.Default。然而,儘管程序沒有任何錯誤並且代碼看起來很簡單,但我仍然有一些問題需要寫入並從中讀回。

如何從代碼中讀寫Properties.Settings.Default?

+0

看到這個堆棧溢出的答案: http://stackoverflow.com/questions/1157378/unable-to-save-settings-in-app-exe-config –

回答

1

也許你正在看錯文件? 解決方案中的app.config將被複制到bin/Debug或bin/Release文件夾中的YourProgramFile.exe.config。運行程序時,它將更新此文件,而不是解決方案中的app.config文件。

然後,也許你也應該檢查你的應用程序文件夾的寫權限。通常(Win Vista,Win 7)執行應用程序的用戶在應用程序應駐留的Program Files文件夾中沒有寫入權限,因此更新.config最有可能會因缺少寫入權限而失敗。對於Linux/Unix系統來說更是如此。

您應該嘗試分離需要編寫的元素,並在用戶特定的文件夾中編寫額外的配置文件。您可以從最初的普通應用程序配置中獲取默認值,只需更新用戶特定的配置文件,這樣您就不會受到文件權限的阻礙,並且每個用戶都可以專門更新其設置。

+0

你能與訪問properties.settings值這段代碼 - MainForm.Top:= Properties.Settings.Default.item ['MainFormTop']; – ThN

+0

看看這篇文章。而不是存儲頂部,左側,高度和寬度,您最好存儲位置(包括頂部+左側)和大小(包括高度+寬度):http://blogs.msdn.com/b/rprabhu/archive/2005/11/28 /497792.aspx –

相關問題