我在某个地方有隐藏的配置文件吗?

时间:2018-03-23 10:05:35

标签: c# .net configuration-files

我在C#中为我的应用程序配置了一个配置文件。它就像一个魅力。在初始化我的GUI时,我读取了我的值并在更改它们时,我在文件中更改它们并保存它们。

读:

txtCPort.Text = XTD_List_T001.Properties.Settings.Default.cport;

写:

XTD_List_T001.Properties.Settings.Default.cport = txtCPort.Text;
XTD_List_T001.Properties.Settings.Default.Save();

但现在我构建了我的解决方案,我有一个exe和一个exe.config文件。 在我的程序中它仍然可以正常工作,但它不会从我的文件夹中的exe.config文件写入/读取任何内容。就像有一些隐藏文件可以在某处存储真实值。

他仍然需要我的配置文件,因为当我删除它时会抛出错误。

如何更改行为,以便他实际使用我的exe.config文件?

编辑1:我试图在评论中解释为什么我的问题不完全重复。我还添加了一些代码。我刚才意识到我需要能够部署默认设置,所以我可能无法使用exe.config,因为%appdata%中的文件是本地的吗?

1 个答案:

答案 0 :(得分:0)

如果您希望将设置设为 ,则使用Double Dispatch而非是用户特定的,您需要更改app.exe.config的设置范围到Visual Studio设置设计器中的User

enter image description here

或者,如果您需要手动编辑Application XML,请将设置从app.config块移动到/ <userSettings>块。

我对MSDN架构描述的简要总结:

  • 应用程序设置从本地计算机中读取 <applicationSettings>文件或machine.config文件。
  • 用户范围设置的默认值可以存储在 app.exe.config个文件。
  • 用户范围的设置存储在app.exe.config文件夹中的可写user.config文件中。