quinta-feira, 25 de abril de 2013

Web config transforms (Visual Studio)

Às vezes as pessoas adicionam no projeto um arquivo copiado do web.config, só para para homologação / produção. Se você usar o publish do visual studio, isso não é necessário. Você apenas adiciona um arquivo a mais, web.Producao.config por exemplo, que terá apenas o que será alterado no web.config original, e cria o perfil Producao (exemplo) no Visual Studio. Quando for fazer o deploy, você seta aquele perfil, e manda fazer o deploy, que ele irá alterar o que é necessário, e fazer o deploy com o arquivo alterado.

Detalhado:
  • Ao lado do botão de play, tem um combo escrito Debug (ou Release). Clique na opção Configuration Manager;
  • Em Active Solution Configuration, clique em New;
  • Dê um nome à sua configuração nova (Producao?) e escolha qual a configuração antiga será copiada;
  • Vá no web.config, clique com o botão direito e clique em Add Config Transforms;
  • Surgirá, dentro do web.config, um arquivo chamado web.[sua configuração].config. Dentro dele, você pode colocar os atributos que quer mudar ou adicionar.

A diferença das tags é dois atributos a mais, dizendo o que deve ser feito e o critério usado para tanto. Ex:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <connectionStrings>
      <add name="connectionString" connectionString="X" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
    </connectionStrings>
</configuration>


Assim, se você adicionar coisas novas ao web.config, não terá que ficar fazendo merge, nem terá aquele risco de alguém substituir o web.config sem saber.

Nenhum comentário:

Postar um comentário