什么是app.config?

Can*_*ith 31 .net visual-studio

Settings.settings生成Settings.Designer.cs可能会生成的app.config,然后将其复制到输出目录中Foo.exe.config.当我在没有配置文件的情况下分发应用程序时,似乎没有什么坏事.那么,该文件是什么?

Jon*_*eet 37

如果您没有配置文件,它将使用设计器中的默认值.但是,配置文件允许用户/管理员轻松更改设置 - 例如您与之交谈的服务器,主题等.如果您没有该文件,您希望将这些设置存储在哪里?

您可以拥有每个用户设置以及每个应用程序设置,这些设置存储在不同的位置.

  • @CannibalSmith:如果你想创建自己的完整配置系统,包括存储等,那么你可以忽略app.config.为什么重新发明轮子?请注意,.NET*中的配置系统是*可扩展的(因此理论上可以将设置存储在注册表,数据库等中)但在这方面有点令人困惑且记录不佳. (2认同)
  • 我将设置存储在Settings.settings和Properties.Settings.Default中.Whare他们*真的*去,我不知道,但他们肯定不会去app.config,因为,就像我说的,如果我删除该文件,设置不会消失. (2认同)

Adr*_*der 6

应用程序配置文件包含特定于应用程序的设置 此文件包含公共语言运行库读取的配置设置(例如程序集绑定策略,远程处理对象等)以及应用程序可以读取的设置.

  • @CannibalSmith:确切地说 - 配置设置.我不明白你为何感到困惑. (2认同)
  • 此文件是每个应用程序配置文件,您可以在其中存储多个数据源连接(connectionStrings),多个键值对(appSettings),远程配置(system.runtime.remoting,您之前使用过远程处理?),频道等项目等等...... (2认同)