设置文件vs app.config

fea*_*net 26 .net settings config

可能重复:
app.config文件和XYZ.settings文件有什么区别?

我真的不了解设置和配置文件之间的交互/差异.如果我在设置文件中添加一个条目,它也会被添加到app.config中.这是否意味着更改app.config中的值将更新设置?如果没有,我如何更新实时应用程序中的设置?使用设置文件而不是直接在app.config中放置内容的一般目的是什么?

Tes*_*rex 16

从我所看到的情况来看,似乎设置文件和设计器为配置文件提供了一种包装.设置设计器控制进入配置文件的一些值,但也修改.settings属性目录中的文件,并更改文件中生成的代码Settings.Designer.cs.

请注意,在配置文件中,值没有任何类型,但在.settings文件中,它们具有任何类型.现在打开Settings.Designer.cs.您将看到生成的代码从配置文件中获取值,并将它们转换为.settings文件中指定的正确类型或设置设计器.因此,它为配置文件中的值提供了一个类型安全的接口.如果更改配置文件中的值,则下次转到设置设计器时,它会询问您是否要更新.settings以反映这些更改.

因此,要回答您的问题,一旦部署了应用程序,您可以更改配置文件中的值,只要它可以转换为正确的类型,否则我猜它会失败Settings.Designer.cs.我能看到的唯一目的似乎是设计人员的类型安全性和方便性,而不是处理配置文件的XML.

另外,请记住,因为config不是版本化文件,安装程序不会在客户端的计算机上更新它们.它不会允许它踩踏任何用户更改.因此,一旦部署,如果您将自己的更改放入用户需要的配置中,他们将不得不手动复制更改.