Properties.Settings.Default在哪里存储?
我以为我知道这一点,但今天我又被certificate是错误的。
运行VS2008,.NET 3.5和C#。 我将用户设置添加到属性设置选项卡与默认值,然后读取它们使用此代码:
myTextBox.Text = Properties.Settings.Default.MyStringProperty;
然后,在用户编辑选项对话框中的值后,我将它保存为这样:
Properties.Settings.Default.MyStringProperty = myTextBox.Text; Properties.Settings.Default.Save();
我的问题是,这个新价值在哪里保存? 可执行文件夹中的MyApp.exe.config文件没有更新,它仍然包含默认值。 另外,据我所知,该目录中的其他文件都没有更新! 但是,当程序读取值时,它会得到更改的值,所以我知道它保存在某个地方…
这不仅仅是学术上的问题,我需要能够在今天早上手动编辑这个值,并且当我找不到任何正在改变的东西的时候,自己就被困住了。
为了使用更新版本的Windows策略,只允许默认读取到Program Files文件夹(除非用UAC提示升级,但这是另一个主题…),您的应用程序将在%userprofile%\appdata\local
或%userprofile%\Local Settings\Application Data
具体取决于您运行的Windows版本。 如果您存储了所有用户的设置,则它们将位于C:\users
下的相应文件夹或所有用户configuration文件(例如: C:\users\public\appdata\local
)的C:\Documents and Settings
中。
您可以通过编程获取path:
using System.Configuration; // Add a reference to System.Configuration.dll ... var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;
它保存在你的文档和设置\%用户%\本地设置\应用程序数据……等search一个名为user.config文件那里
位置可能会改变。
用户特定的设置保存在该应用程序的用户的“应用程序数据”文件夹中。 寻找一个user.config
文件。
我不知道你的预期,因为用户通常甚至没有对可执行目录的写权限。
在您的项目根文件夹下有一个名为“属性”的文件夹,该文件夹下有* .settings文件。 这就是存储的地方。