Dot-Net
如何在不使用使用者設置的情況下在執行時讀取/寫入 app.config 設置?
我正在尋找一種方法來儲存可以在執行時使用Application Settings寫入的應用程序或機器級設置。使用者設置允許讀/寫,但應用程序設置不允許。我一直在使用使用者設置在執行時保存這樣的設置,但由於以下原因,這確實被證明是不切實際的:
- 機器的所有使用者都需要共享設置。
- 在支持電話中(尤其是在危機情況下),很難向使用者/員工解釋在哪裡可以手動查找和修改這些設置(appdata 是一個隱藏文件夾)。
- 新版本的應用程序需要使用以前的設置(使用者設置似乎被新版本吹走了)。
- 我們的員工通常會將應用程序複製到一個新文件夾,這也會重置使用者設置。
無論如何,我們公司的機器僅由一位使用者使用,因此通常不需要使用者特定的設置。
否則我真的很喜歡使用應用程序設置,並希望盡可能繼續使用它們。如果設置可以與 EXE 位於**同一文件夾中,**那將是理想的(就像好的 ol’ini 文件曾經那樣)。
**注意:**這是一個 WPF 應用程序,而不是 ASP.net Web 應用程序,因此沒有 web.config。
好吧,我還不想在執行時更改應用程序設置(這就是我使用使用者設置的目的),但我能夠做的是在安裝時編寫應用程序設置。我想類似的方法可能在執行時起作用。您可以嘗試一下,因為似乎沒有任何其他支持的解決方案 ATM。
exePath = Path.Combine( exePath, "MyApp.exe" ); Configuration config = ConfigurationManager.OpenExeConfiguration( exePath ); var setting = config.AppSettings.Settings[SettingKey]; if (setting != null) { setting.Value = newValue; } else { config.AppSettings.Settings.Add( SettingKey, newValue); } config.Save();希望有幫助!