修改app.config的问题
各位好,我现在做的是一个小的应用程序。为一个Winform程序。程序中会调用到app.config中的一些配置信息,例如为: age = 10; 在程序中就可读取到age为10。 然后在bin/debug/的目录下运行hello.exe执行我的程序。我想在外部更改app.config中的配置信息age = 20时。打开程序时希望可以读取到最新的值。。这个配置信息可以在外部改变后,程序中能读取到新的配置信息吗,现在就是改了也没效果,请教高手你了。谢谢! --------------------编程问答-------------------- Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);config.AppSettings.Settings.Remove(key);
config.AppSettings.Settings.Add(key, value);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
Properties.Settings.Default.Reset();
Properties.Settings.Default.Reload();
--------------------编程问答-------------------- 在你的app.config文件中增加下面几行,有时候<appSettings>标签已经存在,不要重复了:
<appSettings>
<add key="age" value ="10"/>
</appSettings >
然后在程序中调用:
public partial class Form1 : Form
{
public string age = ConfigurationManager.AppSettings.Get("age");
...
}
注意引用命名空间:
using System.Configuration;
还有在项目的references里也要添加引用System.Configuration。
--------------------编程问答-------------------- 你需要起一个线程,用fileinfo对象循环监视app.config的变更,如果发现变更ConfigurationManager.RefreshSection("appSettings"); --------------------编程问答-------------------- 你的vs工程编译后
app.config会被copied到debug或者release下的 程序.exe.config. 这个文件才是应用程序读取的config文件。
因此,如果你想修改app.config并使修改的东西工作。需要build工程。
如果你不想build工程,需要修改 程序.exe.config --------------------编程问答-------------------- 对了,外部修改 config后,程序要重启下,才可以读到新的值。 --------------------编程问答-------------------- 可以定时刷新,定时去强制读取一次,不过这样性能就不怎么高了。。。
等待高人。。。 --------------------编程问答-------------------- 是不是需要把app。config放到你发布的目录里面。程序运行使用的是bin\debug 或bin\Release的 .config文件,并不时程序源代码所在目录下的.config文件 你修改后者,当然会不管用 --------------------编程问答-------------------- app.config会被copied到debug或者release下的 程序.exe.config. 这个文件才是应用程序读取的config文件。 --------------------编程问答--------------------
这方法不错哟
补充:.NET技术 , C#