Transformations em arquivos config separados - Búfalo Informática
Dica No : 1255
Titulo: Transformations em arquivos config separados
Algumas situações podem nos exigir trabalhar com arquivos config separados. Podemos, por exemplo, guardar toda a seção de string de conexões em um arquivo separado. No web.config original, apenas apontamos para o outro arquivo, com as strings de conexão utilizando o atributo "configSource". A tag no web.config fica como abaixo:
<connectionStrings configSource="strings.config" />
O desafio, porém, é como aplicar as web.config transformations com o conteúdo do web.config dividido em 2 ou mais arquivos através do uso dessa técnica. Especialmente as strings de conexão recebem valores diferentes em diferentes ambientes, tais como desenvolvimento, homologação e produção.
Existem formas de aplicar a web.config transformations no arquivo separado de string de conexão, fazendo algumas alterações na configuração de publicação, arquivo PUBXML. Porém é bem complexo de fazer e o resultado não é tão preciso.
Existe uma outra solução mais simples: Criar diferentes arquivos de string de conexão para cada ambiente (o que de qualquer forma teria que ser feito) e com as transformations alterar o atributo configSource.
Por exemplo, podemos inserir no arquivo web.release.config a seguinte transformação para alterar o nome do arquivo contido no atributo configSource:
<connectionStrings configSource="strings.Release.config" xdt:Transform="SetAttributes" />
Desta forma, ao invés de tentarmos transformar o arquivo com as strings de conexão, o que apesar de possível é bem complicado, apenas apontamos para um novo arquivo.