如何更改运行时应用程序设置
问题描述:
我试图在运行时更改我的应用程序设置文件的一个键,但它不起作用。如何更改运行时应用程序设置
我做这样:
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();
}
我忽略了所有可以抛出的可能例外...
我该如何访问ConfigurationManager类。我尝试使用这段代码,它会导致一些错误,但不会激发该类:S。 – rpf 2009-02-18 12:17:22
添加System.Configuration作为参考。 – Joe 2009-02-18 15:35:35