版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37137902/article/details/88125335
用System.Configuration.ConfigurationManager.OpenExeConfiguration(string exePath)方法读取config文件时,配置文件与可执行文件位于同一目录中。如图
如果配置文件与可执行文件不位于同一目录中,那怎么读取呢?用下面的方法可以实现。
ExeConfigurationFileMap webconfigMap = new ExeConfigurationFileMap();
webconfigMap.ExeConfigFilename =CreateConfig(adsWebConfigPath);
Configuration webconfig = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(webconfigMap, ConfigurationUserLevel.None);//不需要后缀名
//根据Key读取<add>元素的Value
string webConnectionStrings = webconfig.AppSettings.Settings["ConnectionStrings"].Value;
string webBussinessServiceAddress = webconfig.AppSettings.Settings["BussinessServiceAddress"].Value;
private static string CreateConfig(string configFile)
{
try
{
//string configFile = @"D:\wk\config\Webs.config";// + @"app.config";
if (!File.Exists(configFile))
{
string xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<configuration>\r\n</configuration>";
using (StreamWriter sw = new StreamWriter(configFile))
{
sw.Write(xml);
}
}
return configFile;
}
catch (Exception ex)
{
string msg = ex.Message;
throw;
}
}