3

好吧,我正在尝试学习有关如何实现应用程序和用户设置的所有不同选项,这一切都让我感到非常困惑。

<applicationSettings>使用创建部分的 settings.settings 设计器和使用根据文档创建部分的 ConfigurationManager.AppSettings 属性有什么区别<appSettings>

使用 settings.settings 设计器进行应用程序/用户设置的优点/缺点是什么?

如果我假设 System.Configuration 命名空间中的类(特别是 System.Configuration.Configuration 类)主要用于创建自定义部分,我是否正确?

是否可以使用 System.Configuration 命名空间中的任何内容来创建或读取该<applicationSettings>部分而不使用 settings.settings 设计器?那只是一个自定义部分吗?

正如你所看到的,我很困惑......我希望我的问题能从那时起。请告诉我您所知道的,我将继续阅读此文档以试图理解。我的问题不在于我无法完成我需要完成的工作(我可以使用 settings.settings 完成我需要的工作)......问题实际上是理解这个混乱并知道我所有的选择。

先感谢您。

更新:

微软在线文档在这个主题上很糟糕(基本上不存在)。我终于找到了

http://www.codeproject.com/Articles/19675/Cracking-the-Mysteries-of-NET-2-0-Configuration

这很好地解释了这一切。自从我意识到配置文件被合并后,它做得更多了!

4

2 回答 2

3

settings.settings 和 .config(app.config、web.config 或其他)本质上都做同样的事情——也就是说,它们将值存储在一个 XML 文件中,该文件可以跨会话持久保存(settings.settings 还创建一个Settings.Designer.* 文件中的公共属性,因此 VS 设计器可以从中读取)。

*.config 文件是较旧的处理方式,而 settings.settings 是“较新”的处理方式。使用settings.settings,您还可以使用方便的界面来添加对象(即直接从Visual Studio,而不是手动编辑XML)。

此外,使用 settings.settings,您可以获得用户范围和应用程序范围。用户范围在运行时是读/写的,而我相信应用程序范围在运行时是只读的。

System.Configuration 命名空间用于读取和写入 *config 文件。

处理 *.config 文件的一个不错的选择是使用 Rick Strahl 的配置管理器工具。它为整个 *.config 文件创建了一个很好的面向对象视图,允许对条目进行 eacy 加密等。

于 2011-12-19T05:32:19.850 回答
1

您看到的 Settings.Settings 内容是您想要用于用户特定设置的内容。设计器用于设置这些设置的默认值。这些默认值存储在 app.config 文件中,该文件用于保存应用程序设置/配置。即:用户设置默认值本身就是应用程序设置。

那有帮助吗?;)

于 2011-12-19T05:34:47.107 回答