我的应用程序允许用户将其他项目添加到组合框中,这些项目保存在自定义配置部分中。问题是 save() 调用失败,因为我的应用程序安装到 C:/Program Files... 没有读写权限,因此用户必须以管理员身份运行我的应用程序。
有没有更巧妙的方法来保存用户添加的持续存在的 UI 元素?我查看了用户设置,但似乎没有办法保存收藏。
我的应用程序允许用户将其他项目添加到组合框中,这些项目保存在自定义配置部分中。问题是 save() 调用失败,因为我的应用程序安装到 C:/Program Files... 没有读写权限,因此用户必须以管理员身份运行我的应用程序。
有没有更巧妙的方法来保存用户添加的持续存在的 UI 元素?我查看了用户设置,但似乎没有办法保存收藏。
.NET 并不真正支持在运行时写入 app.config。你可以这样做,但你会遇到允许的情况。在运行时写入 app.config 通常表示用户范围的配置。这通常通过 Properties.Settings 中的用户范围配置项来完成,该配置项将默认值存储在 app.config 中,并将新的/更改写入用户的 AppData。
在自定义配置方面,使用用户范围的设置,它真的不适用。您可以在设置设计器中简单地使用您自己的类型。
用户设置 (http://msdn.microsoft.com/en-us/library/bb397750(v=vs.90).aspx) 是您想要的最佳匹配。您可以将集合序列化为 JSON 并将其保存为字符串类型的设置。