我在某处有隐藏的配置文件吗?

Do I have a hidden Config file somewhere?

我的 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 文件。 在我的程序中,它仍然可以正常工作,但它不会 write/read 我文件夹中 exe.config 文件中的任何内容。就像有一些隐藏文件在某处存储真实值。

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

我怎样才能改变行为,让他真正使用我的 exe.config 文件?

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

如果您希望设置 使用 app.exe.config 并且 而不是 user-specific 您需要在 Visual Studio 设置设计器中将设置范围从 User 更改为 Application

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

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

  • 应用程序设置是从本地计算机的 machine.config 文件或 app.exe.config 文件。
  • user-scoped 设置的默认值可以存储在 app.exe.config 个文件。
  • User-scoped 设置存储在 LocalUserAppDataPath 文件夹中的可写 user.config 文件中。