如何在运行时保存自定义配置节?

时间:2012-09-06 18:22:55

标签: c# wpf app-config configurationsection

我的应用程序允许用户将其他项添加到组合框中,并将其保存在自定义配置部分中。问题是save()调用失败,因为我的应用程序已安装到C:/ Program Files ...但没有读写权限,因此用户必须以管理员身份运行我的应用程序。

是否有更加巧妙的方法来保存持续存在的用户添加的UI元素?我查看了用户设置,但似乎没有办法保存集合。

2 个答案:

答案 0 :(得分:3)

.NET实际上并不支持在运行时写入app.config。你可以这样做,但是你会遇到许可的情况。在运行时写入app.config通常表示用户范围的配置。这通常使用Properties.Settings中的用户范围配置项来完成,这些配置项在app.config中存储默认值并将新/更改写入用户的AppData。

就自定义配置而言,使用用户范围设置时,它确实不适用。您可以在“设置”设计器中使用自己的类型。

答案 1 :(得分:2)

用户设置(http://msdn.microsoft.com/en-us/library/bb397750(v=vs.90).aspx)是您想要的最佳匹配。您可以将集合序列化为JSON并将其保存为字符串类型设置。