如何在运行时使用应用程序设置 api 将对象的动态键值对存储在 app.config 中?
我一直在努力解决问题,但找不到任何有意义的示例或文档。
我似乎无法在 XML 中序列化 .Net 字典类以将它们存储在 app.config
是使用自定义 XML 序列化类的唯一方法,还是有其他方法?
如何在运行时使用应用程序设置 api 将对象的动态键值对存储在 app.config 中?
我一直在努力解决问题,但找不到任何有意义的示例或文档。
我似乎无法在 XML 中序列化 .Net 字典类以将它们存储在 app.config
是使用自定义 XML 序列化类的唯一方法,还是有其他方法?
你应该能够做这样的事情:
// Open App.Config of executable
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Add an Application Setting with a name Key and a Value stored in variable called Value
config.AppSettings.Settings.Add("Key", Value );
// Save the changes in App.config file.
config.Save(ConfigurationSaveMode.Modified);
经过更多搜索网络,我发现了一篇非常好的(虽然很长)文章,它详细描述了 .Net 配置模型:
我还发现了一些非常有用的东西:
一个视觉工作室,用于直观地设计配置部分并生成相应的 XSD 文件。我希望有人觉得这很有用。
一直认为在运行时更改 app.config 被认为是不好的做法。app.config 应该用于程序设置和配置;不适用于应用程序实际修改的动态事物。
建议您为动态对象创建单独的“KeyValue.xml”文件。
根据您的具体需要,您可以尝试 System.Collections.ObjectModel.KeyedCollection<TKey, TValue>。这仅在您可以从项目本身派生项目的密钥时才有效,但在这种情况下,它可以用于此目的。
它是通用字典吗?如果是这样的话: