前面的文章谈到了AppSettingsReader的应用,但有的童鞋在按照那篇文章做测试程序的时候发现写
ConfigurationSettings.AppSettings时会出现波浪线标示,会得到这样一个警告:
“System.Configuration.ConfigurationSettings.AppSettings”已过时:“This method is obsolete,
it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings”
但在根据提示修改为.ConfigurationManager时却死活找不到这个对象。
这里要说明一下,除了要通过using 来引用System.Configuration外,我们还必须在通过添加引用(.net选项页中)添加System.Configuration;
也就是说要添加对System.Configuration.dll 文件的引用才可以正常使用。
所以,我们见到This method is obsolete这样的提示就要注意对dll文件的引用。
This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings
添加完成后我们可以引用了
public NameValueCollection settings;
settings = ConfigurationManager.AppSettings ;//被替换的老版本ConfigurationSettings.AppSettings;//
这样我们就可以取到我们需要的键值了。如我们要删除或者是添加可以很简单的实现
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//增
config.AppSettings.Settings.Add(key, value);
//删
config.AppSettings.Settings.Remove(key);
//改
config.AppSettings.Set("key", "value");
//存
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
最后这句是强制刷新。