首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >动态更改app.config文件中的值

动态更改app.config文件中的值
EN

Stack Overflow用户
提问于 2009-08-31 12:31:52
回答 6查看 108.2K关注 0票数 28

我想在app.config的appSetting部分修改一个值。所以我写了,

代码语言:javascript
复制
Console.WriteLine(ConfigurationManager.AppSettings["name"]);
Console.Read();
Configuration config=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  
config.AppSettings.Settings["name"].Value = "raja";       
config.Save(ConfigurationSaveMode.Modified);  
ConfigurationManager.RefreshSection("appSettings");
Console.WriteLine(ConfigurationManager.AppSettings["name"]);
Console.Read();

在执行上述代码后,我验证了app.config "name“元素的值是否已更改。但没有变化。

我的代码出了什么问题?或者,有没有其他方法可以做到这一点?

EN

回答 6

Stack Overflow用户

发布于 2009-08-31 13:24:33

下面的代码适用于我:

代码语言:javascript
复制
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
    config.AppSettings.Settings["test"].Value = "blah";       
    config.Save(ConfigurationSaveMode.Modified);
    ConfigurationManager.RefreshSection("appSettings");

注意:它不会更新解决方案项'app.config',但如果您使用F5运行它,则会更新bin/文件夹中的'.exe.config‘项。

票数 56
EN

Stack Overflow用户

发布于 2015-12-11 23:33:04

对Adis H的示例进行扩展,以包括null情况(在这个示例中得到了比特)

代码语言:javascript
复制
 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            if (config.AppSettings.Settings["HostName"] != null)
                config.AppSettings.Settings["HostName"].Value = hostName;
            else                
                config.AppSettings.Settings.Add("HostName", hostName);                
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");
票数 6
EN

Stack Overflow用户

发布于 2009-08-31 13:16:02

您必须手动更新app.config文件

代码语言:javascript
复制
// Load the app.config file
XmlDocument xml = new XmlDocument();
xml.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

// Do whatever you need, like modifying the appSettings section

// Save the new setting
xml.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

然后告诉您的应用程序重新加载您修改过的任何部分

代码语言:javascript
复制
ConfigurationManager.RefreshSection("appSettings");
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1357240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档