我在某处有隐藏的配置文件吗?
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
文件中。
我的 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
文件中。