修改App.Config配置文件可能遇到的问题

来源:互联网 发布:淘宝免单活动 编辑:程序博客网 时间:2024/06/08 10:09

  网上有很多修改App.Config配置文件的代码,有一种方式是用Configuration.Save保存修改,ConfigurationManager.RefreshSection更新缓存,有网友提问说调试时发现App.Config没有修改。

  App.Config是通过新建项-应用程序配置文件添加的,编译后通常是不会输出到bin目录下,编译后Release状态生成的是项目名.exe.config,debug状态生成的是项目名.vshost.exe.config。查找App.Config配置是否修改成功,不是在项目中找App.config文件是否修改,而是在项目名.exe.config,项目名.vshost.exe.config中找相关项是否修改成功。

  在debug状态下程序修改的是项目名.vshost.exe.config,一旦退出debug状态项目名.vshost.exe.config文件的修改失效。在release状态下程序修改的是项目名.exe.config,修改永久有效。

有一个办法可以避免上面的问题,把Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);用下面2行代码替换

string assemblyConfigFile = Assembly.GetEntryAssembly().Location;
Configuration config = ConfigurationManager.OpenExeConfiguration(assemblyConfigFile);

debug状态修改项目名.vshost.exe.config,项目名.exe.config

release状态修改项目名.vshost.exe.config,项目名.exe.config


原创粉丝点击