rpf*_*rpf 4 .net c# settings.settings
我正在尝试在运行时更改我的应用程序设置文件的一个键,但它不起作用.
我这样做:
ConfigurationSettings.AppSettings["XPTO"] = "HELLO";
Run Code Online (Sandbox Code Playgroud)
它似乎只改变了内存,而不是文件.
有谁知道怎么做?
谢谢.
el2*_*ot2 10
看看我对.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();
}
Run Code Online (Sandbox Code Playgroud)
我忽略了所有可能抛出的异常......