【发布时间】:2010-12-20 17:32:28
【问题描述】:
在我的 WPF 应用程序中,我在解决方案资源管理器中单击 Settings.settings 并输入具有 User 范围的 StringCollection 变量:
在我的 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>
然后我运行我的应用程序并使用以下代码:
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>
正在保存的应用程序添加的值在哪里?
【问题讨论】: