我有一個WinForms .exe與一個App.config有一堆用戶作用域設置在運行時設置和保存。 我希望能夠使用WinForms應用程序來更改和保存設置,然後單擊按鈕以基於這些設置做一些工作。 我也想從sep中讀取同一個.config文件中的用戶設置。控制檯應用程序,所以我可以安排按計劃完成任務。 能做到這一點的最佳方法是什麼?如何從diff應用程序讀取app.config中的用戶設置?
更新: 我嘗試使用ConfigurationManager.OpenExeConfiguration的推薦,如某些答案中所述。
Configuration config = ConfigurationManager.OpenExeConfiguration("F:\\Dir\\App.exe");
但是當我嘗試檢索用戶設置像這樣。
string result = config.AppSettings.Settings["DB"].ToString();
我得到一個空引用錯誤。
從exe中的代碼,但以下正確返回DB名稱。
Properties.Settings.Default.DB
我哪裏錯了?
更新2:
因此,基於以下一些我的答案現在可以使用以下方法來檢索user.config文件我很感興趣,從九月的部分的原始XML。 ConsoleApp。
System.Configuration.ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"D:\PathHere\user.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap,ConfigurationUserLevel.None);
System.Configuration.DefaultSection configSection = (System.Configuration.DefaultSection)config.GetSection("userSettings");
string result = configSection.SectionInformation.GetRawXml();
Console.WriteLine(result);
但我仍然無法只拉值我感興趣的特定元素