我正在尝试存储一些持久的应用程序数据,所以我通过R单击它,选择属性,然后选择设置选项卡并手动输入设置名称,类型,范围和值,为项目添加了一个设置
当我运行代码时,我读取这样的设置:
lastRunTime = My.Settings.LastRunTime
并设置如下:
My.Settings.LastRunTime = lastRunTime
我在哪里可以看到新设置?因为对于上帝的爱,我无法看到更新设置的位置.创建该设置时,app.config具有原始设置值.那我在哪里可以看到它?
当我运行代码时,我看到它更新它,下次我运行应用程序时新值仍然存在,所以我知道它存储在某个地方.但是哪里?
.NET必须做一些特殊的事情,它必须保证另一个也恰好具有"LastRuntime"设置的程序不会覆盖为程序存储的值.为此,它将user.config文件存储在难以找回的目录中.它有一个古怪的名字,比如
C:\ Users \用户名\ AppData \本地\ WindowsFormsApplication1\WindowsFormsApplication1._Url_twchbbo4atpsvjpauzkgkvesu5bh2aul\1.0.0.0\user.config
注意项目名称是如何成为路径的一部分,这是找回它的一种方法.名称中不可言说的部分是一个哈希,它是根据项目的各种属性创建的,这些属性使您的应用程序足够独特,即使名称匹配也不会与另一个.NET程序发生冲突.就像您的产品名称,公司名称,exe名称等.
注意反过来也是如此,更改这样的属性会使您丢失user.config文件.因此,如果"LastRuntime"是某种许可计量值,那么使用设置并不是最好的主意.