【发布时间】:2017-06-16 11:07:57
【问题描述】:
我已使用 ConfigurationManager 类将我的应用程序设置存储在配置文件中,我的配置文件位于自定义路径中,现在我想读取我的配置文件但我的代码不起作用。我应该如何更改我的代码?
存储配置文件(完美运行):
static void AddUpdateAppSettings2(string key, string value)
{
try
{
string _path = Application.StartupPath + "\\ss.ini";
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap()
{
ExeConfigFilename = _path
};
Configuration configFile = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
if (settings[key] == null)
{
settings.Add(key, value);
}
else
{
settings[key].Value = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}
读取配置文件(不起作用,仅当我的配置文件存储为默认路径时才有效):
static void ReadSetting(string key)
{
try
{
var appSettings =ConfigurationManager.AppSettings;
string result = appSettings[key] ?? "Not Found";
Console.WriteLine(result);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error reading app settings");
}
}
【问题讨论】:
-
“我的书面代码不起作用我必须如何更改我的代码?” - 你能告诉我们什么不起作用吗?它在做什么或不做什么?
-
我尝试从路径读取我的配置文件 (Application.StartupPath + "\\ss.ini")
-
但我的 ReadSetting func 从默认路径读取配置文件 (application.exe.config)
标签: c# config configuration-files configurationmanager