我有一个必须为具有相同设置的一台机器的所有用户运行的WPF应用程序。必须读/写设置。我以前一直在CommonApplicationData中存储用户配置设置,例如
var settingsFile = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.CommonApplicationData),
"[company]", "[product]", "settings.xml");
但是我今天早上读到CommonApplicationData
用于漫游配置文件,这意味着它们不是特定于机器的。根据我的发现,我们有以下应用程序数据选项(source):
// Store application-specific data for the current roaming user.
// A roaming user works on more than one computer on a network.
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on.
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
// Store in-common application-specific data that is used by all users.
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// Store application-specific data that is used by the current, non-roaming user.
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
总结一下,选项是
我需要的是所有用户,非漫游。我最初的想法是将它全部放入安装文件夹,但这似乎有点老派?
思想?
答案 0 :(得分:3)
Here is a good explanation以及与漫游用户相关的其他项目。
CommonApplicationData
是“作为所有用户使用的特定于应用程序的数据的公共存储库的目录”
而
LocalApplicationData
是“作为当前非漫游用户使用的特定于应用程序的数据的公共存储库的目录”。
答案 1 :(得分:0)
我对此的偏好是Application Settings,可以是应用程序范围内的,也可以是每个用户的设置。