2013-10-25 58 views
1

我已经使用C#实现了使用自定义部分的自定义文件配置。 我遇到的主要问题是实现某种版本识别配置加载器。 自动变更,但我们需要使它们可用。 是否有任何文档指出在配置中进行某种版本控制的方向?C#自定义配置版本

我会举两个例子来说明我的问题: - key [“key1”]从布尔类型更改为int类型。 - 密钥[“key2”]强制不再存在

谢谢。

回答

0

你可以有每个设置的默认值的概念。如果你引入一个新的设置,而旧的配置文件没有它,那么它会使用默认值。同样,如果你从代码中删除一个设置,那么它在配置文件中的存在将是无害的,它将被忽略。

如果你想改变给定设置的工作方式(类型或格式),那么它会更棘手一些。您可以尝试解析该值,如果格式不正确,您可以忽略它并使用默认值。

+0

那么......我已经有一个版本的领域。我认为最好的办法是解析conf的值,并根据版本字段消除/转换字段。 – user2674293

0

我倾向于将某种版本的标题添加到配置中,并在应用程序中保留其架构的历史记录。这在某些方面可能会很麻烦,但至少您不必猜测旧值的含义。