Biblioteca para auxiliar nas configurações segregadas por ambiente, podendo utilizar arquivo .config adicional.
Passo 1: No arquivo .config da aplicação, informe as informações da biblioteca para carrega-la e ter acesso a config personalizada.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="environmentSettings" type="Qualita.Util.Environments.EnvironmentSettingsSection, Qualita.Util.Environments"/>
</configSections>
...
<configuration>
Passo 2: Agora crie as chaves/valores necessarias pra a section environmentSettings, declarado no passo 1.
A propriedade obrigatória useEnvironKey irá definir qual a chave deverá ser utilizada, ela pode ser alterada em tempo de execução.
A estrutura de preenchimento é:
<environmentSettings useEnvironKey='?'><environ key='?'><add key='?' value='?'/>...
Use a propriedade file do elemento environ para definir um arquivo externo. Observação: O elemento environ dever ser declarodo novamente no arquivo externo e com o mesmo valor de key, a propriedade name é opcional. Todos os arquivos externos devem existir mesmo se não for ativado pela propriedade activeEnviron do elemento principal.
Exemplo App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="environmentSettings" type="Qualita.Util.Environments.EnvironmentSettingsSection, Qualita.Util.Environments"/>
</configSections>
<environmentSettings useEnvironKey="loc">
<environ key="loc" name="Local">
<add key="URL" value="http://localhost:8080"/>
<add key="DIR_EXPORT" value="D:\TEMP"/>
</environ>
<environ key="1" file="dev.config" />
<environ key="2" file="homolog.config" />
<environ key="3" file="prod.config" />
</environmentSettings>
<configuration>
Exemplo arquivo externo dev.config:
<?xml version="1.0" encoding="utf-8" ?>
<environ key="1" name="Desenvolvimento">
<add key="URL" value="http://app.develop"/>
<add key="DIR_EXPORT" value="D:\APP\EXPORT"/>
</environ>