我一直在尝试使用我的App.config一段时间了,现在我设法将外部设置为我的配置文件,我能够读取/写入此文件的appSettings部分。现在我可以为其他部分的键使用不同的名称,但我更喜欢使用另一部分。 ConfigurationManager.getSection()似乎没有工作,我得到一个“ConfigurationErrorsException”。
我的代码:
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = path + "app.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
// Reading:
string value = config.AppSettings.Settings["key"].Value
// Writing:
var settings = config.AppSettings.Settings;
if (settings["key"] == null)
settings.Add("key", "value");
else
settings["key"].Value = "value";
我试过
var settings = config.Sections["section"];
string value = settings["key"];
但由于“保护程度”,这不起作用。 关于如何做到的任何想法?
更新:
解决了!刚刚使用
type="System.Configuration.AppSettingsSection"
在app.config中并获取/设置值:
var settings = ((AppSettingsSection)config.GetSection(section)).Settings;