我创建了一个简单的Windows应用程序并添加了App.config
文件
我还添加了设置文件,该文件还会将密钥添加到App.config
文件中。
<appSettings>
<add key="myKey" value="1"/>
</appSettings>
<applicationSettings>
<MyApp.AppSettings>
<setting name="RunAutomated" serializeAs="String">
<value>False</value>
</setting>
</MyApp.AppSettings>
</applicationSettings>
我的代码中包含以下内容:
If(AppSettings.Default.RunAutomated) {
Console.WriteLine("Running auto!!!");
}
else {
Console.WriteLine("Running manual!!!");
}
简单就是这样。
当我构建项目并通过visual studio运行时,当我更改RunAutomated键并重新运行应用程序时,一切都按预期输出更改。
但是当我进入 / bin / Debug 文件夹并运行 MyApp.exe
时,情况并非如此似乎缓存了app.config,它忽略了对app.config文件的更改。
我应该如何执行这个简单的任务,以便在每次运行时继续读取App.config文件?我正在进行的任何更改app.config应该会影响应用程序吗?
答案 0 :(得分:1)
如果您在代码中更改了属性,或者在应用中使用了UI,则应通过调用SettingsBase
实例上的Save
来保存更改的属性:
AppSettings.Default.Save();
请注意,每次构建后都会覆盖设置文件,因此请尝试将可执行文件复制到另一个文件夹并多次运行。
或者,您可以创建自己的设置文件,我发现它更容易,更可靠。您可以查看XmlSerializer
课程和Newtonsoft Json中的JsonConvert
课程。