c# – 在外部文件中编写appSettings
发布时间:2020-12-15 18:15:04 所属栏目:百科 来源:网络整理
导读:我有一个配置文件app.exe.config和appSettings部分有这样的: configuration appSettings configSource="app.file.config" //configuration app.file.config文件有这样的东西: ?xml version="1.0" encoding="utf-8" ?appSettings add key="var1" value="val
我有一个配置文件app.exe.config和appSettings部分有这样的:
<configuration> <appSettings configSource="app.file.config" /> </configuration> app.file.config文件有这样的东西: <?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="var1" value="value 1" /> <add key="var2" value="value 2" /> <add key="var3" value="value 3" /> </appSettings> 我需要在运行时编辑var1,var2和var3,我有这样的代码: Configuration config = ConfigurationManager.OpenExeConfiguration("...pathapp.exe); config.AppSettings.SectionInformation.ConfigSource = "app.file.config"; config.AppSettings.Settings["var1"].Value = "value 11"; config.AppSettings.Settings["var2"].Value = "value 22"; config.AppSettings.Settings["var3"].Value = "value 33"; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); 当我运行config.Save ….文件app.file.config有一个appSettings节点,其属性为“file”.此属性具有app.file.config的值 <appSettings file="app.file.config"> <add key="var1" value="value 1" /> <add key="var2" value="value 2" /> <add key="var3" value="value 3" /> </appSettings> 现在,如果我尝试加载配置文件,我有一个例外,消息“无法识别的属性’文件’.请注意,属性名称区分大小写.”在app.file.config中. 如果手动删除文件属性,则会正确加载配置文件. 有任何想法吗? 保存配置文件时如何避免写入文件属性. 谢谢 解决方法
使用外部配置文件对于应用程序是透明的,
这部分是o.k </configuration> <appSettings configSource="app.file.config" /> </configuration> 还有这个: <?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="var1" value="value 1" /> <add key="var2" value="value 2" /> <add key="var3" value="value 3" /> </appSettings> 将代码更改为: Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); config.AppSettings.Settings["var1"].Value = "value 11"; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); 引用外部配置文件对应用程序是透明的, 祝好运 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |