Multiple AppSettings files, is it possible?

Vinicius Ottoni picture Vinicius Ottoni · Jul 5, 2012 · Viewed 22.5k times · Source

I want to create 3 AppSettings config files:

  • Database.config
  • Messages.config
  • Global.config

And after add in my App.config:

<appSettings file="Database.config" />
<appSettings file="Messages.config" />
<appSettings file="Global.config" />

But when I try to access a key that there is in one of three files with the ConfigurationManager, I got the following error:

Configuration system failed to initialize. Sections must only appear once per config file.

I cannot have more than one AppSettings config file?

Answer

aquinas picture aquinas · Jul 5, 2012

You can't have more than one appsettings because that's the name of a section. You can add a new section though that uses the same kind of section definition as appsettings. E.g.,

<configuration>
    <configSections>
        <section name="DatabaseConfig" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    </configSections>
    ....
    <DatabaseConfig>
       <add key="Whatever" value="stuff"/>
    </DatabaseConfig>
</configuration>