É possível transformar o seguinte arquivo app.ettings Web.config:
<appSettings>
<add key="developmentModeUserId" value="00297022" />
<add key="developmentMode" value="true" />
/* other settings here that should stay */
</appSettings>
em algo como isto:
<appSettings>
<add key="developmentMode" value="false" />
/* other settings here that should stay */
</appSettings>
Portanto, preciso remover a chave developmentModeUserId e substituir o valor da chave developmentMode .
c#
asp.net
.net
web-config
libélula
fonte
fonte
xdt:Transform="SetAttributes" xdt:Locator="Match(key)"
peça deve ser usada no Web.Whatever.config e não no arquivo Web.config.Substituindo todas as AppSettings
Este é o caso de exagero em que você deseja substituir apenas uma seção inteira do web.config. Nesse caso, substituirei todos os AppSettings no web.config e novas configurações no web.release.config. Esta é a minha linha de base web.config appSettings:
Agora, no meu arquivo web.release.config, vou criar uma seção appSettings, exceto que incluirei o atributo xdt: Transform = ”Replace”, pois quero substituir apenas o elemento inteiro. Não precisei usar o xdt: Locator porque não há nada para localizar - só quero limpar a lousa e substituir tudo.
Observe que no arquivo web.release.config, a seção appSettings possui três chaves em vez de duas, e as chaves não são iguais. Agora, vejamos o arquivo web.config gerado, o que acontece quando publicamos:
Assim como esperávamos - o web.config appSettings foi completamente substituído pelos valores em web.release config. Essa foi fácil!
fonte
Se você deseja transformar a configuração de seu aplicativo de arquivo de configuração da web para web.Release.config, execute as seguintes etapas. Deixe o arquivo de configuração do aplicativo web.config
Agora, aqui está o web.Release.config da transformação.
Isso transformará o valor de K1 no novo valor no modo realese.
fonte
Não gosto que as transformações tenham mais informações do que o necessário. Então, em vez de reafirmar as chaves, simplesmente declaro a condição e a intenção . É muito mais fácil ver a intenção quando feita assim, pelo menos na IMO. Além disso, tento colocar todos os
xdt
atributos em primeiro lugar para indicar ao leitor, são transformações e não coisas novas sendo definidas.No exposto acima, é muito mais fácil ver que o primeiro está removendo o elemento. O segundo é definir atributos. Ele definirá / substituirá todos os atributos que você definir aqui. Nesse caso, ele simplesmente será definido
value
comofalse
.fonte