首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Properties.Settings.Default存储在哪里?

Properties.Settings.Default存储在哪里?
EN

Stack Overflow用户
提问于 2009-06-11 17:05:27
回答 8查看 168.6K关注 0票数 162

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

运行VS2008、.NET 3.5和C#。我使用默认值将用户设置添加到Properties settings选项卡中,然后使用以下代码读取它们:

代码语言:javascript
复制
myTextBox.Text = Properties.Settings.Default.MyStringProperty;

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

代码语言:javascript
复制
Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();

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

这不仅仅是学术上的,我今天早上需要能够手动编辑这个值,当我找不到任何正在改变的东西时,我把自己难住了。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-06-11 17:13:46

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

票数 156
EN

Stack Overflow用户

发布于 2011-08-16 02:59:29

您可以通过编程方式获取路径:

代码语言:javascript
复制
using System.Configuration;  // Add a reference to System.Configuration.dll
...
var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;
票数 97
EN

Stack Overflow用户

发布于 2018-06-20 02:48:53

谢谢你给我指明了正确的方向。我发现user.config位于这个庞然大物: c:\users\USER\AppData\Local\COMPANY\APPLICATION.exe_Url_LOOKSLIKESOMEKINDOFHASH\VERSION\user.config.

我不得不在我的应用程序上升级版本,所有的设置似乎都消失了。应用程序使用新版本创建了一个新文件夹,并使用默认设置。花了很长时间才找到文件的存储位置,但随后只需简单地复制和粘贴,即可将设置复制到新版本。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/982354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档