一尘不染

Properties.Settings.Default存储在哪里?

c#

我以为我知道这一点,但今天又被证明是错误的-再次。

运行VS2008,.NET 3.5和C#。我使用默认值将用户设置添加到“属性设置”选项卡,然后使用以下代码阅读它们:

myTextBox.Text = Properties.Settings.Default.MyStringProperty;

然后,在用户在选项对话框中编辑值之后,我将其保存为:

Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();

我的问题是,这个新值保存在哪里?可执行文件目录中的MyApp.exe.config文件未更新,但仍包含默认值。另外,据我所知,该目录中的其他文件也没有更新!但是,当程序读回值时,它将获得更改后的值,因此我知道它已保存在某处…

这不仅是学术上的,我需要能够在今天早晨手动编辑值,并在找不到任何正在变化的东西时陷入困境。


阅读 638

收藏
2020-05-19

共1个答案

一尘不染

为了使用Windows的较新版本的策略,该策略默认情况下仅允许对Program
Files文件夹进行读取访问(除非您提示使用UAC进行提升,但这是另一个主题…),您的应用程序将在%userprofile%\appdata\local或下有一个设置文件夹%userprofile%\Local Settings\Application Data具体取决于用户所运行的Windows版本。如果您存储所有用户的设置,则它们将位于所有用户配置文件下C:\usersC:\Documents and Settings所有用户配置文件的对应文件夹中(例如:)C:\users\public\appdata\local

2020-05-19