Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);config.AppSettings.Settings.Add("a", "a");config.Save();当程序运行时,数据确实已经保存到配置文件中了但当程序结束后,数据却又没有了,配置文件恢复到保存前的状态要怎么解决?

解决方案 »

  1.   

    你是不是在进行项目调试,调试开始时,重新生成了[appliacation].exe.config,把老的覆盖了。
      

  2.   

    这个问题已经明白,代码中修改的配置文件是WindowsApplication1.vshost.exe.config,当程序结束后,WindowsApplication1.vshost.exe.config被自动恢复成WindowsApplication1.exe.config中的内容,这样,在代码中把ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);改成读取WindowsApplication1.exe.config文件即可保存内容,但最郁闷的是,我们在项目添加的App.config里的内容却没有跟着改变,然后我又实验直接修改App.config中的内容,再保存后,WindowsApplication1.vshost.exe.config与WindowsApplication1.exe.config中的内容都跟着改变了!!!这样,问题又出来了,把项目安装后,程序目录中有的已经是App.config这个文件,但是在项目设计阶段与安装后并没发现有统一的代码去取到这个App.config文件,也就是说,在项目设计阶段,App.config在项目的根目录,而应用程序.EXE文件在\bin\Debug目录下,而在安装后,App.config和应用程序.EXE文件却在同一目录下,这样,如何才能用相同的代码在项目设计阶段与安装后都能取到App.config
      

  3.   

    每次重新编译时自动会拷贝app.config覆盖*.exe.config,项目发布时会自动包含这个配置文件