应用程序设置保存在哪里?

Geo*_*rge 2 vb.net settings

我正在尝试存储一些持久的应用程序数据,所以我通过R单击它,选择属性,然后选择设置选项卡并手动输入设置名称,类型,范围和值,为项目添加了一个设置

当我运行代码时,我读取这样的设置:

lastRunTime = My.Settings.LastRunTime

并设置如下:

My.Settings.LastRunTime = lastRunTime

我在哪里可以看到新设置?因为对于上帝的爱,我无法看到更新设置的位置.创建该设置时,app.config具有原始设置值.那我在哪里可以看到它?

当我运行代码时,我看到它更新它,下次我运行应用程序时新值仍然存在,所以我知道它存储在某个地方.但是哪里?

Han*_*ant 9

.NET必须做一些特殊的事情,它必须保证另一个也恰好具有"LastRuntime"设置的程序不会覆盖为程序存储的值.为此,它将user.config文件存储在难以找回的目录中.它有一个古怪的名字,比如

C:\ Users \用户名\ AppData \本地\ WindowsFormsApplication1\WindowsFormsApplication1._Url_twchbbo4atpsvjpauzkgkvesu5bh2aul\1.0.0.0\user.config

注意项目名称是如何成为路径的一部分,这是找回它的一种方法.名称中不可言说的部分是一个哈希,它是根据项目的各种属性创建的,这些属性使您的应用程序足够独特,即使名称匹配也不会与另一个.NET程序发生冲突.就像您的产品名称,公司名称,exe名称等.

注意反过来也是如此,更改这样的属性会使您丢失user.config文件.因此,如果"LastRuntime"是某种许可计量值,那么使用设置并不是最好的主意.

  • 通过将设置范围从"用户"更改为"应用程序",可以获得"本地版本".但这对您的设置不起作用,因为这不允许您保存值.app.exe.config存储在没有UAC提升但无法写入的目录中.如果您不喜欢设置的工作方式,那么只需自己烹饪,只需保存到AppData文件夹即可. (2认同)