.net 什么';设置和*.config之间的区别是什么?

.net 什么';设置和*.config之间的区别是什么?,.net,configuration,.net,Configuration,我过去曾使用过一些*.config文件,但我根本没有使用过设置文件。简单地说,项目的设置文件和*.config文件有什么区别?关于哪些信息放在哪个位置,是否有约定?什么时候应该使用一个而不是另一个?设置文件是如何生成的?它们是嵌入到程序集中的,还是像*.config文件一样保存在外部?当您查看数据存储的位置时,这些文件并不多。 设置为您提供 用于创建键值对的GUI(在“项目属性”窗口中),而不是手动调整app.config 设计器生成的用于访问键值对的类型安全类 它还区分了应用程序级和用户级设

我过去曾使用过一些*.config文件,但我根本没有使用过设置文件。简单地说,项目的设置文件和*.config文件有什么区别?关于哪些信息放在哪个位置,是否有约定?什么时候应该使用一个而不是另一个?设置文件是如何生成的?它们是嵌入到程序集中的,还是像*.config文件一样保存在外部?

当您查看数据存储的位置时,这些文件并不多。
设置为您提供

  • 用于创建键值对的GUI(在“项目属性”窗口中),而不是手动调整app.config
  • 设计器生成的用于访问键值对的类型安全类
  • 它还区分了应用程序级和用户级设置
在内部,键值对存储在app.config自身的一个部分中。设置为您提供了更好的API来处理此问题,因此最好对app.config文件进行读写


在项目中创建设置文件,然后双击相应的app.config文件。您应该在applicationSettings/userSettings节点中查看您的设置。

项目的设置文件驱动.config的一部分。有点

如果添加设置,您将看到在配置文件中创建了自定义配置节。设置文件不是指定ConfigurationSettings.Application(“myKey”),而是用于自动生成一个强类型类,该类将您的设置公开为属性,但实际设置仍保留在配置文件中

但是,一个区别是用户设置(对于某些项目类型)。您可以设置、获取并将它们持久化到用户的本地概要文件目录中,而无需自己编写这些位