【发布时间】:2011-04-08 00:20:53
【问题描述】:
我正在寻找一种方法来存储可以在运行时使用Application Settings 写入的应用程序或机器级别设置。用户设置允许读/写,但应用程序设置不允许。我一直在使用用户设置在运行时保存这样的设置,但由于以下原因,这确实被证明是不切实际的:
- 机器的所有用户都需要共享设置。
- 在支持电话中(尤其是在危机情况下),很难向用户/员工解释在哪里可以手动查找和修改这些设置(appdata 是一个隐藏文件夹)。
- 新版本的应用程序需要使用以前的设置(用户设置似乎被新版本吹走了)。
- 我们的员工通常会将应用程序复制到一个新文件夹,这也会重置用户设置。
无论如何,我们公司的机器都仅供一位用户使用,因此通常不需要用户特定的设置。
否则,我真的很喜欢使用应用程序设置,并希望尽可能继续使用它们。如果设置可以驻留在 与 EXE 相同的文件夹中 (就像好的 ol'ini 文件曾经那样),那将是理想的。
注意:这是一个 WPF 应用程序,而不是 ASP.net Web 应用程序,因此没有 web.config。
【问题讨论】:
-
将可写设置存储在与 exe 相同的目录中是一个坏主意 - 在 Vista/Win7 上,这需要管理员写入,并且会触发 UAC 并导致您的应用程序运行提升。最好将应用设置存储在其他地方。
-
@Andy 这对我来说似乎不对。我写了很多程序,在不触发 UAC 的情况下写入与 EXE 相同目录中的 xml 文件。
标签: .net wpf visual-studio app-config appsettings