{"加载配置文件时出错: 参数“exePath”无效。\r\n参数名: exePath"}

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
            }
        }

猜你喜欢

转载自blog.csdn.net/m0_37137902/article/details/88125335