我想知道vs项目的Settings配置中Application和User scope之间的实际区别是什么。项目设置:应用程序和用户范围之间的实际区别?
是唯一的区别的事实,如果我选择应用程序,我不能使用Settings.MyProperty
作为二传手,但我必须使用Settings["MyProperty"]
呢?
如果配置文件位于我的应用程序根目录下,如何使用用户范围影响程序?
我想知道vs项目的Settings配置中Application和User scope之间的实际区别是什么。项目设置:应用程序和用户范围之间的实际区别?
是唯一的区别的事实,如果我选择应用程序,我不能使用Settings.MyProperty
作为二传手,但我必须使用Settings["MyProperty"]
呢?
如果配置文件位于我的应用程序根目录下,如何使用用户范围影响程序?
用户范围意味着每个用户都获得他们自己的副本,这些设置存储在用户个人资料文件夹中,并且您的应用可以保存那些没有管理员权限的设置。
如果更改应用程序设置(使用Settings["MyProperty"]
)并调用Settings.Save(),则必须以管理员身份运行,因为这些更改已保存到MyApplication.exe.config。并且更改适用于所有用户。
最好的办法是使用'用户'设置,因为对于较新的操作系统,Windows不喜欢读取和写入本地可执行文件的文件,但由于对病毒的意识,这看起来很可疑。所以Windows喜欢你读写指定的安全区域,我相信这发生在操作系统跟踪的某些应用程序数据区域。如果将范围设置为“应用程序”,它可能会尝试将此数据写入本地配置文件(这就是为什么您需要以管理员权限运行的原因),并且随着操作系统变得更加锁定,可能仍然存在这样做的问题。您的应用程序可能在这样的XP下工作,但任何新的可能无法正常工作,特别是当应用程序运行在'c:\ Program Files'文件夹时...
不,应用程序作用域设置根本无法保存, -只要。设置设计器不会为它们生成属性设置器。 – 2011-05-08 18:19:59
但是你可以改变/保存它们,只是不通过生成的属性。 – 2011-05-12 11:52:43