项目设置:应用程序和用户范围之间的实际差异?

时间:2011-05-08 15:42:00

标签: c# visual-studio-2010

我想知道vs项目的设置配置中应用程序和用户范围之间的实际区别。

唯一不同的是,如果我选择应用程序,我不能将Settings.MyProperty用作设置器,但我必须使用Settings["MyProperty"]代替?

如果配置文件位于我的应用程序根目录,那么使用User范围会如何影响程序呢?

2 个答案:

答案 0 :(得分:6)

用户范围表示每个用户都有自己的副本,设置存储在用户个人资料文件夹中,而您的应用程序可以在没有管理员权限的情况下保存这些设置。

如果更改应用程序设置(使用Settings["MyProperty"])并调用Settings.Save(),则必须以管理员身份运行,因为更改将保存到MyApplication.exe.config。并且更改适用于所有用户。

答案 1 :(得分:0)

您最好的选择是使用'用户'设置是因为使用较新的操作系统Windows并不像您读取和写入可执行文件本地文件那样,由于感知病毒,这看起来很可疑。所以Windows喜欢你读写指定的安全区域,我相信在操作系统跟踪的某些应用程序数据区域中会发生这种情况。如果您将范围设置为'应用程序'它可能会尝试将此数据写入本地配置文件(这就是您需要以管理员权限运行的原因)并且随着操作系统变得更加锁定,可能仍然存在执行此操作的问题。你的应用程序可能在这样的XP中运行,但任何更新的应用程序可能都不起作用,尤其是当应用程序运行在&c; \ Program Files'文件夹...