如何重新创建 app.config.exe.config

Posted

技术标签:

【中文标题】如何重新创建 app.config.exe.config【英文标题】:how to recreate app.config.exe.config 【发布时间】:2013-06-01 16:07:14 【问题描述】:

我的程序正在从我的 app.config 创建一个 .exe.config,并且该 exe 会保留用户在我的程序运行期间和运行后对其所做的更改。

这很好,但我想在我的 Windows 窗体应用程序中添加一个按钮,允许用户将这些设置重置为在我的 app.config 中静态/手动更改的原始值。

最好的方法是什么?这是我的 app.config 的全部内容。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="CacheDir" value="C:\blah\prod\cache" />
<add key="CheckFilesDir" value="C:\blah\prod\cache\cachefiles" />
<add key="GenerateTo" value="C:\Users\blah\Desktop" />
<add key="CustomVariable1Enabled" value="false" />
<add key="CustomVariable2Enabled" value="false" />
<add key="CustomVariable1" value="" />
<add key="CustomVariableValue1" value="" />
<add key="CustomVariable2" value="" />
<add key="CustomVariableValue2" value="" />

正常访问like..

ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = "C:\\Users\\RJenkins\\Documents\\Visual Studio 2010\\Projects\\CacheConfigNinja\\CacheConfigNinja\\bin\\Debug\\CacheConfigNinja.exe.config";
//configFileMap.ExeConfigFilename = "C:\\Users\\RJenkins\\Documents\\Visual Studio 2010\\Projects\\CacheConfigNinja\\CacheConfigNinja\\bin\\Release\\CacheConfigNinja.exe.config";

Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);

【问题讨论】:

您能否添加一个干净的.config 文件作为应用程序资源并将其用作重置值? 我不明白为什么不这样做,但我正在寻找最好的方法,因为这似乎是人们经常不得不做的事情。 您如何保存更改? 【参考方案1】:

您可以在应用程序设置中调用Reset() 方法。从文档中,这个方法:

将持久的应用程序设置值恢复为其对应的默认属性。

【讨论】:

我已经添加了我的 app.config 以及我通常访问它的方式。我不确定如何在我的代码中使用该 Reset() 方法。 @user2081737 应该是Properties.Settings.Default.Reset() 该死的,无论出于何种原因,这都没有做任何事情。也许我还没有以标准方式或其他方式设置我的 app.config? @user2081737 是的 - 看到了您的访问代码。这不是处理应用程序设置的标准方式。您如何更改设置值? @user2081737 有关处理此问题的“正常”方式,请参阅:msdn.microsoft.com/en-us/library/k4s6c3a0.aspx 这允许应用程序设置针对每个用户,并且将与重置方法一起使用。【参考方案2】:

这个怎么样?

Properties.Settings.Default.Reset()
Properties.Settings.Default.Reload()

【讨论】:

由于某种原因,这没有做任何事情。

以上是关于如何重新创建 app.config.exe.config的主要内容,如果未能解决你的问题,请参考以下文章

如何重新创建以前的活动?

如何使用 Javascript 鼠标事件和 CSS 重新创建“突出显示”选择?

如何重新创建 Android 应用程序类?

在 Activity 重新创建时如何确定 Fragment 恢复?

如何重新创建进度栏旋转?

FullCalendar:如何重新创建/重新初始化 FullCalendar 或批量添加多个事件