【问题标题】:settings file vs app.config [duplicate]设置文件与 app.config [重复]
【发布时间】:2011-02-02 03:00:54
【问题描述】:

可能重复:
What is the difference between app.config file and XYZ.settings file?

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

【问题讨论】:

标签: .net settings config


【解决方案1】:

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

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

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

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

【讨论】:

  • 我认为还有另一个目的,因为 Settings.Designer.cs 被编译到应用程序中,这样即使 app.config 被删除,它也可以访问设置。
猜你喜欢
  • 2012-02-27
  • 2014-08-07
  • 2014-10-11
  • 2012-02-24
  • 2012-11-23
  • 1970-01-01
  • 2018-04-07
  • 2013-08-15
  • 2011-01-11
相关资源
最近更新 更多