如何更改运行时应用程序设置

问题描述:

我试图在运行时更改我的应用程序设置文件的一个键,但它不起作用。如何更改运行时应用程序设置

我做这样:

ConfigurationSettings.AppSettings["XPTO"] = "HELLO"; 

它似乎只在内存中的变化,而不是在文件。

有谁知道如何做到这一点?

谢谢。

看看我的overview of .NET settings files ..总之,我认为你想要一个用户范围的设置。它会表现得更像你的期望。

编辑:如果您使用的是settings designer in Visual Studio,则只需更改“范围”为“用户”。如果不是的话,你应该能够以编程方式进行等效。

AppSettings文件不是可写的。它被设计用于存储配置,这些配置在运行时不会改变,但可能会随时间而改变,即:DB连接字符串,Web服务URL等。

因此,尽管可能在实际中更新文件,但您应该重新 - 如果这个值应该存储在那里

假设您的应用程序对文件的写权限...



    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); // the config that applies to all users 
    AppSettingsSection appSettings = config.AppSettings; 

    if (appSettings.IsReadOnly() == false) 
    { 
     appSettings("Key").Value = "new value"; 

     config.Save(); 
    } 

我忽略了所有可以抛出的可能例外...

+0

我该如何访问ConfigurationManager类。我尝试使用这段代码,它会导致一些错误,但不会激发该类:S。 – rpf 2009-02-18 12:17:22

+2

添加System.Configuration作为参考。 – Joe 2009-02-18 15:35:35