【发布时间】:2010-10-20 15:05:14
【问题描述】:
我正在编写一个新的 C# 应用程序,它将大量使用配置文件。我的要求是:
- 人类可读
- 名称值对
- 分层
- [可通过应用程序更新]
嗯,翻译一下:我想定义一个对象和一组与该对象关联的配置参数。配置参数可以是名称值对或其他对象,附带它自己的属性:
模块“数据库”{ 主机:“db.example.com”; 编码器“zip”{ 压缩:10; } }
我对要求 4 的承诺较少,但请考虑我希望应用程序更新设置并将其写回配置文件。
我知道以下选项:
- XML。人类可读性不够。
- INI 文件。不分等级
- JSON。
- YAML。
JSON 和 YAML 似乎值得研究。
建议使用这些进行配置?我可能想考虑的任何替代工具?
至于将应用程序所做的更改持久化回配置文件,我知道 JSON 和 YAML 可以做到这一点,但可以在保存原始人工编辑版本中的 cmets 的同时做到这一点?
【问题讨论】: