Como posso usar o Web.debug.config no servidor de depurador do Visual Studio embutido?

Como posso mesclar e usar o Web.debug.config no Web.debug.config do visual studio 2010?

Esse é um problema conhecido. Esse recurso pode ser usado agora apenas como parte do processo de implantação.

https://connect.microsoft.com/VisualStudio/feedback/details/523221/have-web-debug-config-apply-during-development

Por favor, upvote-lo, se você encontrar isso também, então isso será corrigido o mais rápido possível.

Isso é bem simples de fazer e, acredite ou não, parece que essa é a forma como o VS é projetado para funcionar.

Adicione as linhas a seguir, literalmente, antes da tag de fechamento “Project” do arquivo .csproj do projeto que contém web.config.

      

Coloque as seguintes linhas na íntegra no evento post-build nas propriedades do projeto que contém o arquivo web.config. Faça isso para cada configuração de compilation para a qual você deseja que as transformações sejam executadas.

 "$(MSBUILDBINPATH)\msbuild" "$(ProjectPath)" /t:Transform /p:Configuration=$(ConfigurationName);Platform=AnyCPU xcopy "$(ProjectDir)obj\$(ConfigurationName)\Web.Config" "$(ProjectDir)". /F /R /Y 

Eu tinha resolvido isso de uma forma mais simples, adicionando isso no final do arquivo .csproj, logo antes da tag. Isso é semelhante à resposta do keitn, com a diferença de que ele não usa um evento post build.

    

Eu não queria atualizar o web.config no meu projeto apenas o que acaba na pasta bin então aqui está como eu fiz isso.

Adicione o seguinte ao final de .csproj (logo antes da tag final do projeto de fechamento)

     

Em seguida, adicione a seguinte etapa de criação de postagens

 "$(MSBUILDBINPATH)\msbuild" "$(ProjectPath)" /t:Transform /p:Configuration=$(ConfigurationName);Platform=AnyCPU 

Isso significa que quando você cria uma transformação ocorre da configuração debug / release para o arquivo WebsiteName.Config no diretório bin da saída, portanto, não está interferindo no web.config principal no projeto.

Depois de ler muitos posts similares e ter problemas com arquivos que não podem ser sobrescritos ou o web.config não estar acessível porque é somente leitura, é isso que eu comecei a trabalhar para mim:

           

Notas:

Isso é executado como o destino BeforeBuild.

Eu só quero que ele seja executado sob uma certa configuração (um ambiente de debugging alternativo) e é por isso que eu tenho a condição. Ao implantar via web deploy, o alvo de publicação entra em ação e eu não preciso que esse alvo seja executado.

Eu não quero ter que lembrar de verificar web.config (apenas para desfazê-lo quando terminar) para que eu verifique web.config antes de iniciar a transformação. Se você não estiver usando o TFS, poderá remover essa linha.

Porque VS (2010) \ msbuild não quer deixar de ir a Source web.config eu uso um arquivo temporário (graças a este artigo para a informação: http://www.diaryofaninja.com/blog/2011/09/ 14 / using-custom-webconfig-transformations-in-msbuild )

Eu tentei adicionar um comando para excluir o TempWeb.config mas VS \ msbuild não quer deixá-lo ir. Eu posso viver com isso, pois não é adicionado ao TFS.

Eu sei que isso é velho, mas estou enfrentando o mesmo problema. Temos configurações de teste, preparação, Live que substituem endpoints, cadeias de conexão, etc. do Web.config padrão

No entanto, eu faria o seguinte:

  • Clique com o botão direito do mouse na configuração de transformação desejada (por exemplo, Web.Live.config )
  • Clique em “Preview Transform”
  • Copie tudo da direita (é como o Web.config se parece com a transformação)
    • CTRL + A + CTRL + C
  • Abra o arquivo Web.config (padrão um)
  • Selecione tudo (CTRL + A) e cole-o em (CTRL + V)
  • Corre

Não é que muitos passos e é feito muito rapidamente quando você pegar um jeito. Espero que isto ajude. 🙂

@ologesa: Sua solução precisa de access de gravação ao Web.config original (você deve fazer o check-out no TFS). A melhor solução é gerar diretamente o Web.config na pasta bin como o keitn faz isso. Quando combinamos o keitn e a sua solução, obtemos este: