我向我的项目添加了一个自定义Application Configuration File
调用AppSettings.config
并将其Copy to output
属性设置为Copy if newer
(这会将配置文件复制到构建项目的可执行文件文件夹中。
我的设置必须归类为appSettings
,而不是applicationSettings
(不可编辑)或userSettings
(存储在用户AppData
文件夹中)。这是一个例子:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- single values -->
<add key="Name" value="Chris" />
<add key="Age" value="25" />
<!-- lists, semi-colon separated-->
<add key="Hobbies" value="Football;Volleyball;Wakeboarding" />
</appSettings>
</configuration>
看下面的代码,如何访问和修改它们:
Configuration AppConfiguration =
ConfigurationManager.OpenMappedExeConfiguration(
new ExeConfigurationFileMap {ExeConfigFilename = "AppSettings.config"}, ConfigurationUserLevel.None);
var settings = AppConfiguration.AppSettings.Settings;
// access
var name = settings["Name"].Value;
var age = settings["Age"].Value;
var hobbies = settings["Hobbies"].Value.Split(new[]{';'});
// modify
settings["Age"].Value = "50";
// store (writes the physical file)
AppConfiguration.Save(ConfigurationSaveMode.Modified);
我使用内置的app.config
默认应用程序设置,并希望将它们与AppSettings.config
. 这就是我使用自定义配置文件的原因。
这不是问题的直接答案,但它解决了如何在自定义配置文件中存储和共享可编辑应用程序设置的问题。
希望对其他用户有所帮助!:-)