dev*_*ium 7 c# app-config visual-studio
所以,长话短说,我正在开发一个应用程序,它将使用一些可能在运行时通过应用程序本身更改的配置信息.出于我的目的,我想到了使用这个Settings课程.
我们认为问题在于,应用程序的不同运行之间不会保留信息:
运行1)
Console.WriteLine(Settings.Default["User"]); //prints "Default user"
Settings.Default["User"] = "abc";
Console.WriteLine(Settings.Default["User"]); //prints "abc"
Run Code Online (Sandbox Code Playgroud)
跑2)
Console.WriteLine(Settings.Default["User"]); //prints "Default user"
Settings.Default["User"] = "abc";
Console.WriteLine(Settings.Default["User"]); //prints "abc"
Run Code Online (Sandbox Code Playgroud)
(两者打印完全相同的输出)
两个运行都显示相同的第一个打印"默认用户",虽然在第二次运行时我想得到"abc",表明信息不是在不同的应用程序执行之间持久化.
我承认这必须与Visual Studio处理.config文件的方式有关,但即便如此,我想知道如何纠正这种(讨厌的)行为?
默认情况下,不会直接复制App.config,而是将其内容放在<assembly-name>.config输出文件夹的文件中.复制设置不适用于此操作.
通常,应用程序更改自己的app.config不是一个好习惯.如果您正在开发可能由同一台PC上的多个用户使用的应用程序,请改用"设置".这样每个用户都可以拥有自己的设置.
对于服务和系统范围的设置,请考虑使用其他存储,例如单独的配置文件,注册表或数据库.
编辑保存设置:
使用设置类时,应调用Save()将其写入文件,否则应用程序关闭时将丢弃设置更改.如果您经常在开发期间终止您的应用程序,并且它没有到达它的结束代码(您通常会调用Save()),那么您有几个选项:
Settings.Default.Save()在监视窗口中放置一个表达式,并在每次要保存时刷新它.| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |