我正在尝试在运行时更改我的应用程序设置文件的一个键,但它不起作用.
我这样做:
ConfigurationSettings.AppSettings["XPTO"] = "HELLO";
它似乎只改变了内存,而不是文件.
有谁知道怎么做?
谢谢.
看看我对.NET设置文件的概述 ......总之,我认为你想要一个用户范围的设置.它会表现得更像你期望的.
编辑:如果您在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(); }
我忽略了所有可能抛出的异常......