Possible Duplicate:
What is the difference between app.config file and XYZ.settings file?
Visual Studio中存储和管理桌面应用程序设置的这两种机制明显存在冗余,这让我非常困惑:
- 您可以使用XML
app.config
文件,将项目添加到<appSettings>
部分.可以使用ConfigurationManager
类从代码中检索这些参数. - 或者,您可以使用Settings.settings文件通过编辑器添加各个设置.visual Studio将生成一个
Settings
类,用于在运行时对设置进行类型安全检索.
这两个机制似乎服务于相同(或几乎相同)的目的.我知道有一些不同之处,但我也对重叠及其后果感到困惑.例如,当我使用Visual Studio将设置添加到Settings.settings
文件时,我输入的所有信息最终也都作为app.config
文件中的条目.显然,存在一种同步机制:如果我更改了app.config
文件中的设置,Visual Studio会在我下次在编辑器中打开它时提示我更新Settings.settings
文件.
我的问题是:
- 为什么是两种机制而不是一种?
- 使用
app.config
比Settings.settings
最常见的场景是什么,反之亦然? - 如果我的应用程序使用
Settings.settings
,并且在部署后更改了app.config
中的值,会发生什么?由于Settings.settings
的同步已经被编译和分发,因此无法进行同步.
笔记我一直在寻找关于这个话题的问题,但我更困惑了.例如,this question here的答案是相当矛盾的,没有多少启发.
注2.我知道app.config
是一个设计时文件名,我熟悉Visual Studio复制并将其重命名为可执行文件夹的动态过程.