【问题标题】:Should an application settings file work with the same program written in different languages应用程序设置文件是否应该与用不同语言编写的相同程序一起使用
【发布时间】:2013-08-05 08:24:58
【问题描述】:

我正在用 C# 编写一个程序,我计划将来用不同的编程语言重写它,用于其他平台(即 Mac OSX)。应用程序需要保存一些用户定义的设置。我的问题是,我应该以任何编程语言都可以读取的格式保存设置文件,还是应该使用 .NET 内置的app.config

各有什么好处?

【问题讨论】:

    标签: c# programming-languages interop settings application-settings


    【解决方案1】:

    嗯,这取决于您计划如何在不同平台上实现它。例如,如果您使用 Mono,app.config 就可以了。但除此之外,我会考虑使用更中性的文件格式。 XML 是显而易见的选择——尤其是在不需要手动编辑的情况下。或者您可以使用 JSON,或简单的 key = value 每行一个条目格式。

    当然app.config XML,但它是一种特定于 .NET 的 XML 格式。 app.config 使用的格式通常不是您在创建自己的设置文件时通常会想到的格式。我相信您能够轻松地从其他平台读取 app.config 文件,但这不是最自然的方式。

    格式的选择部分取决于设置是什么 - 单个非结构化列表是否足够好,或者您是否会受益于 XML 给出的树层次结构?

    【讨论】:

    • 感谢您的回答。我曾考虑过使用 Mono,但从我所读到的内容来看,它似乎在努力跟上并有所落后(如果我错了,请纠正我)。除了我不需要存储设置的 XML 之外,是否有标准的跨平台格式(例如 ini)?
    • @Andy:嗯,有 JSON - 但我个人可能会选择 XML。您将找到一个几乎适用于 任何 语言的 XML 解析器。至于 Mono 落后——这真的取决于你需要什么。它在语言支持方面跟上,但你不会找到例如 WPF。
    • 典型。我的应用是 WPF,有没有支持 WPF 的 Mono-alternative?老实说,目前我的应用程序只需要保存两个文件路径,所以这就是为什么我认为这有点过分了,但我想这样看,任何事情都是过分的!我可能会使用 XML,因为它很可能是最受支持的格式,而且我想它可以让我在未来轻松添加更多设置。澄清一下,您认为同一程序在不同平台上能够使用相同的设置文件是个好主意吗?而不是强迫用户创建一个不同的......
    • ...各平台的设置文件?
    • @Andy:你比我们更了解你的应用程序——共享设置是否有意义,或者用户是否希望每次安装都有不同的设置?您打算如何让用户共享这些设置?尝试全面了解您希望如何处理设置,而不是仅仅关注文件格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多