rye*_*guy 12 .net c# application-settings
所以我有一些用户范围的设置,但由于某种原因,它们没有保存到.exe.config文件中.我做以下事情:
Properties.Settings.Default.Email = "new@value.com";
Properties.Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)
然而,我查看调试文件夹中的设置文件,它仍然是我在visual studio中设置的默认设置.我做错了吗?
csj*_*nst 19
如果您将程序集信息设置为自动生成任何版本号(1.0.*),那么每次调试应用程序时,版本号都会不同,因此每次都会创建一个新文件.
如果是这种情况,您需要在设置文件上执行升级:
Properties.Settings.Default.Upgrade()
Run Code Online (Sandbox Code Playgroud)
您还NeedsUpgrading可以true在默认情况下将设置设置为,并在执行升级后将其设置为false,以便每次启动应用程序时不更改版本号的最终用户将不会一直升级
Jon*_*eet 18
用户设置特定于用户,因此它们不会保存回系统范围的.exe.config文件.
来自以下文件LocalSettingsProvider:
应用程序作用域设置和默认用户作用域设置存储在名为application.exe.config的文件中,该文件与可执行文件在同一目录中创建.应用程序配置设置是只读的.特定用户数据存储在名为的文件中
username.config,存储在用户的主目录下.
因此,对于UserSettingsTest应用程序,只需在调试器下运行VS(因此是vshost位),我最终得到一条路径:
C:\Users\Jon\AppData\Local\UserSettingsTest
\UserSettingsTest.vshost.e_Url_pdqoppugkz1vaawbhwkkcu5ibxpi2fgu
\1.0.0.0\user.config
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9515 次 |
| 最近记录: |