在我的WPF应用程序,我点击在Solution Explorer Settings.settings,并用用户范围输入StringCollection变量:Properties.Settings.Default的数据在哪里保存?
alt text http://i45.tinypic.com/24xdmir.png
在我的app.config我看到它们都保存有:
<userSettings>
<TestSettings.Properties.Settings>
<setting name="Paths" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>one</string>
<string>two</string>
<string>three</string>
<string>four</string>
<string>five</string>
<string>six</string>
<string>seven</string>
</ArrayOfString>
</value>
</setting>
</TestSettings.Properties.Settings>
</userSettings>
然后我运行我的应用程序与THI S码:
StringCollection paths = Properties.Settings.Default.Paths;
Properties.Settings.Default.Paths.Add("added in code");
Properties.Settings.Default.Save();
foreach (var path in paths)
{
System.Console.WriteLine(path);
}
这给了我这个输出:
one
two
three
four
five
six
seven
added in code
我再次运行应用程序,这让我这个输出:
one
two
three
four
five
six
seven
added in code
added in code
但我看我的app.config再次它仍然有个原始值:
<userSettings>
<TestSettings.Properties.Settings>
<setting name="Paths" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>one</string>
<string>two</string>
<string>three</string>
<string>four</string>
<string>five</string>
<string>six</string>
<string>seven</string>
</ArrayOfString>
</value>
</setting>
</TestSettings.Properties.Settings>
</userSettings>
如果是由应用程序添加的值被保存?
我有同样的问题。当我保存时,我发现它在AppData \ Local \ xxxx文件夹中得到更新。但是当我启动应用程序时,它不会从那里读取。我如何强制它从那里读取? – coolshashi 2015-03-20 02:45:44
@coolshashi,在您描述您观察加载用户设置失败的确切条件时,您最好创建一个新问题。 – 2015-03-20 08:55:44
对于Windows 10,此答案仍然正确,并且适用于WPF和winforms。所以'user.config'的路径是'<...> \ Users \ \ AppData \ Local \ \ .exe_Url_ <32个随机字符> \ '。您的应用程序名称被截断为25个字符,可能是最大的? –
2016-07-30 16:10:23