【问题标题】:.NET Where are my application settings being persisted.NET 我的应用程序设置保存在哪里
【发布时间】:2012-01-25 00:54:35
【问题描述】:

抱歉,这将是冗长的。但我觉得了解我所做的会更好地帮助一些人回答我的问题。

我一直致力于将应用程序和用户设置添加到我一直在整合的项目中。好吧,实际上我已经完成了任务,编写了一个文件切换验证类来更新用户设置或根据适当的文件切换重置它们,并针对无效、重复或有效的切换触发事件。

所有这些都很好。

在我的编码方面,我一直有这种学习障碍,我需要准确地了解某些东西是如何工作的,然后才能感到自在地使用它。我喜欢 Visual Studio 为我做的所有事情,但当我可以时,我无法抗拒查看黑匣子。

话虽如此,我开始使用 .settings 文件添加了我需要的设置,按照我的预期将所有测试都连接起来。它当然生成了完美的cs文件和app.config文件。

我不太喜欢这样,因为设计器文件不是来自 T4 代码生成工具,所以我无法控制包装类的静态实例是 .Default(我只是不喜欢它的读取方式我的代码)....

所以我从设计器文件中删除了整个类,将其添加到我自己的 cs 文件中,进行了我想要的修改并删除了 cs 和设计器文件以及 .settings 文件。运行情况仍然稳定。

然后,为了确保它能够正确处理,我在类中添加了一个额外的设置,其中包含所有正确的属性等,果然它出现在我的代码中并且工作得很好。我可以重置、保存等,就像从原始 .settings 文件生成的那些设置一样。

不过……

我注意到 app.config 没有反映新值,在我的测试中似乎也没有反映原始用户设置的变化。

现在我可能完全错过了一些东西,但是......

我可以抓住可执行文件运行它查看默认设置。然后使用各种用户设置修改器开关运行它,查看相应的设置。在没有开关的情况下再次运行它并查看相同的用户设置,但在可执行文件的目录中没有生成 app.config 或任何其他文件。顺便说一句,也没有任何东西成为嵌入式资源。

所以最后我的问题:

我想知道这些值到底保存在哪里?

【问题讨论】:

  • 它足够近,至少可以为我指明正确的方向。我将不得不回到那个问题并提出一些问题,因为对我来说似乎存在一些矛盾。它在回答一个问题的过程中发现我最终得到了另一个问题:-P

标签: .net visual-studio c#-4.0 app-config settings.settings


【解决方案1】:

检查本地 appdata 目录 (C:\Documents and Settings\USERNAME\Local Settings\Application data\YOURPROJECTNAME\YOURASSEMBLY\ASSEMBLYVERSION\YOURFILE.config)。另请参阅MSDN,尤其是Settings Persistence 部分中的Settings File Locations 段落。

【讨论】:

  • 不,不在那里。试试吧。 blog.stackoverflow.com/2011/12/…
  • @Hans Passant:你能详细说明一下吗? UserScopedSettingAttribute 的设置用于我最近在这台 PC (Win7) 和我检查过的笔记本电脑 (WinXP) 上启动的 15 个左右的项目。
猜你喜欢
  • 2021-04-07
  • 2013-06-19
  • 2011-04-19
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 2012-03-13
相关资源
最近更新 更多