O que é 'Esperando operação em segundo plano' no Visual Studio 2012?

96

Ocasionalmente, mas com bastante frequência, sem motivo aparente, o VS 2012 irá travar com um diálogo que diz, "Aguardando a conclusão de uma operação em segundo plano". Por exemplo, isso pode acontecer durante uma edição de código simples e antiga, não ao chamar explicitamente qualquer comando IDE.

O que causa isso e há algo que eu possa fazer a respeito?

Estou executando o ReSharper 7 e não sou o único que conheço passando por isso.

ProfK
fonte
4
Este é um pouco do campo esquerdo, então farei comentários em vez de responder - mas se eu obtiver isso é normalmente porque tenho uma janela RDC aberta em outro computador e recentemente coloquei algo nessa janela RDC na área de transferência (por meio de um copiar / cortar) então às vezes você descobrirá que ele está atualmente tentando transferi-lo para minha máquina local ... e, portanto, meu VS está esperando que isso seja concluído. Fechar o RDC normalmente resolve
freefaller
2
Obrigado @freefaller, mas nunca tive nenhuma conexão remota ativa.
ProfK
3
Tenha o problema exato! É realmente muito irritante ... você poderia encontrar a origem do problema? (PS, não tenho ReSharper)
Mahmoud Moravej
1
Eu também tenho o problema no VS2010, então este não é um problema do Vs2012. Para mim, isso acontece quando eu abro uma solução que tem muitos arquivos de código-fonte abertos. Depois de encerrar o VS com ProcExp, o VS não abre todos os arquivos e o problema desaparece.
magicandre1981
7
Há momentos em que eu gostaria de ir ao escritório da Microsoft mais próximo e fazer um massacre no Texas por isso. Estou escrevendo um código em paz, pensamentos estão passando pela minha cabeça quando o BAM! um tapa na cara "operações de fundo, duh".
Filip Vondrášek

Respostas:

62

Eu estava tendo o mesmo problema, especialmente nas páginas cshtml. Encontrei esta página: https://devblogs.microsoft.com/aspnet/visual-studio-11-beta-razor-editor-issue-workaround que sugere a alteração da opção de recuo em Ferramentas> Opções> Editor de Texto> HTML> Guia para Inteligente em vez de Bloquear . No meu caso, ele já estava definido como Smart e alterá-lo de volta para Block resolveu o problema.

Atualização: Eu estava errado, isso não corrigiu o diálogo, apenas atrasou até que eu copiasse ou colasse. O que finalmente funcionou para mim foi ir para Ferramentas> Importar e exportar configurações ...> Redefinir todas as configurações .

Possivelmente pergunta relacionada: Visual Studios 2010 - Asp.net MVC 4 Beta - longos atrasos na colagem e travamentos frequentes

Walter
fonte
26
Eu votei a favor e vou comentar. A atualização nesta resposta resolveu o problema de copiar / colar para mim com o VS2012 - um problema com o qual tive dificuldade por mais de duas semanas tentando descobrir. Observe que selecionei "Desenvolvimento Web (somente código)" na última parte do assistente Redefinir todas as configurações. ATUALIZE PARA QUE ESTA RESPOSTA SEJA MELHOR NAS PESQUISAS.
REMESQ
2
O que Remesq disse funcionou para mim. Isso resolveu o problema instantaneamente. Obrigado.
draconis
1
+1 Para mim, eu não conseguia colar em arquivos 'aspx' sem a mensagem 'Esperando por um plano de fundo ...' aparecendo. Indo para Ferramentas> Importar e Exportar Configurações> Redefinir todas as configurações e, finalmente, escolher Desenvolvimento Web quando perguntado qual coleção para redefinir, fixa-lo para mim. Obrigado.
Anthony Walsh
Redefinir todas as configurações funciona por um tempo, mas de vez em quando eu ainda tenho essa janela modal irritante arg !!!!
coffekid
2
+1 Com Resharper 7, alternar as configurações Ferramentas> Opções> Editor de texto> HTML para bloquear de 'inteligente' corrigiu o problema para mim
Tahbaza
32

É um diagnóstico muito genérico. Ele é disparado por COM, muito usado no Visual Studio para implementar a extensibilidade. O gatilho subjacente é a interface IMessageFilter. O gatilho ocorre quando COM empacota uma chamada de método para outro thread e essa chamada não é concluída por 60 segundos.

A notificação real tem pouco valor, ela diz a você algo que você já sabe. Depois de 60 segundos, você normalmente já percebeu que as coisas não estão funcionando bem. A menos que tenhamos um pouco de conhecimento útil, o Visual Studio não está completamente morto. A chamada, entretanto, precisa ser concluída antes que o VS seja utilizável novamente. Há pouco que você possa fazer a não ser bater o pé e esperar.

Esse problema quase sempre é causado por um suplemento. Resharper é certamente um bom candidato. Você encontra o criador do problema desativando os suplementos um por um até que o problema desapareça. É o tipo de problema comum com as novas versões do Visual Studio. Os fornecedores de suplementos demoram um pouco para resolver os bugs e problemas. Entre em contato com o fornecedor para obter suporte e, em geral, procure atualizações que possam resolver o problema.

Hans Passant
fonte
7

Excluir o arquivo "suo" de soluções funcionou para mim.

chris.rickard
fonte
1
Cheguei a esse estado depois de alternar várias vezes entre branches no git. Excluir o arquivo .suo do projeto também me
afetou
6

Eu estava tendo o mesmo problema e no meu caso era o DevExpress.

Parecia travar o Visual Studio toda vez que eu fazia uma operação de copiar ou cortar, trazendo a mensagem:

"Aguardando a conclusão de uma operação em segundo plano".

Acontece que, na verdade, ele estava realizando uma tarefa isolada em segundo plano e estava demorando um pouco (mais de 5 minutos).

Talvez se eu tivesse esperado normalmente, ele poderia ter sumido, mas o que finalmente consertou foi trazer a caixa de ferramentas à vista (estava oculta / recolhida), que por sua vez abriu uma janela dizendo:

"adicionando [SomeDevExpressAssemblyNameHere] .dll"

isso continuou se atualizando com o nome de cada dll exigida pelo DevExpress para preencher a barra de ferramentas.

Desta forma pude ver o progresso da operação e depois de terminar pude usar copiar / cortar colar novamente como de costume.

Espero que isto ajude.

Ric Tokyo
fonte
Isso aconteceu comigo depois de instalar uma nova versão do CodeRush e depois desinstalar a antiga. Depois de simplesmente esperar (muuuuuito), o VS.Net simplesmente terminou o que estava fazendo.
CodingBarfield
Grrrrr - esse era o meu problema também, minha caixa de ferramentas estava escondida, então eu não conseguia ver o que estava acontecendo.
Fergal Moran
Outro usuário DevExpress aqui, acho que ele faz isso após cada atualização do DevExpress. Demora cerca de 5 minutos e é corrigido para sempre.
KingCronus
5

Para mim, a correção foi atualizar o Web Essentials 2012 para a versão 1.8.

A versão problemática era 1.6

romano
fonte
Tento desabilitar o WebEssentials, mas o problema persiste. Quando Desinstalado, o problema é resolvido.
Riccardo Bassilichi de
5

Ferramentas> Opções> Editor de texto> HTML> Guias -> Identificação -> Nenhuma configuração resolveu esse problema para mim.

Jits
fonte
1
Alterar para "bloquear" também corrige o problema.
Jenny O'Reilly
3

Isso resolveu para mim:

Ferramentas> Opções> Editor de Texto> HTML> Diversos

Desmarque a opção "Auto ID elements on paste in Source View"

Vou postar uma atualização se o problema voltar.

TheTim
fonte
2

Tive esse problema por alguns dias, tentei desinstalar e reinstalar meu visual studio 2012 ultimate edtion SP3 ... Ainda não funcionou. Então eu apaguei todas as minhas extensões (ferramentas git para VS 2012 e downloader do pacote Nuget), reiniciei meu VS e funcionou como um charme novamente! Espero que funcione !

Boa sorte!

Lucas MCKENNA
fonte
1

Eu experimentei esse problema ao executar o visual studio em uma máquina virtual - Virtual Box 4.2 em execução no Mac OS X Mountain Lion, hospedando uma nova instalação do Windows 7 sem nada mais instalado, exceto o Visual Studio. Descobri que o problema foi causado por dois problemas separados.

Em primeiro lugar, meu projeto estava em uma pasta compartilhada do sistema operacional host. Em outras palavras, no Windows Guest, meu projeto apareceu em uma unidade de rede. Portanto, abrir o projeto no Visual Studio a partir de uma unidade de rede parecia causar esse problema porque o problema foi embora quando copiei o projeto para a unidade C da VM do Windows e o abri no Visual Studio a partir da cópia na unidade C.

Em segundo lugar, comecei a ter o problema novamente quando o disco rígido da máquina virtual estava ficando cheio. Eu tinha cerca de 1 GB de espaço livre disponível no disco rígido. Quando aumentei o tamanho do disco rígido na máquina virtual, esse problema foi embora.

Machaba
fonte
1

Acabei de reproduzir um problema semelhante com o add-on Codemaid. Encontrou esta conversa :

Há muitos detalhes neste problema, mas para tentar recapitular o problema, a API VS2012 C ++ introduziu um problema de deadlock quando a API é acessada a partir de um thread de interface do usuário (por exemplo, um contexto WPF como Spade). Não era um problema no VS2010, e a Microsoft o corrigiu para o VS2013, mas eles não o farão para o VS2012.

Parece indicar que uma correção (para Codemaid) deve estar chegando:

Fique de olho neste tópico para a resolução contínua do problema. Ele está vinculado a uma reescrita maior, portanto, estou construindo para isso adicionando muitos testes de unidade primeiro para ajudar a garantir que a funcionalidade permaneça consistente após as alterações.

dtmland
fonte
1
Foi corrigido agora (versão 0.7.0). Essa foi a causa da minha versão disso, então, obrigado!
dlanod
1

Para mim, parecia estar relacionado com a sintaxe do razor, já que eu só a tinha em um arquivo específico.

Por exemplo, se coloquei o código a seguir em uma linha, tive o problema descrito.

@section BodyClassName {note}

Mas ao colocar o parêntese de fechamento na próxima linha, o problema foi embora

@section BodyClassName {note
}

Atenciosamente

Stijn

Stijn Liesenborghs
fonte
1

Longe de ser uma solução ideal, mas por favor, tente executar o Visual Studio no modo de administrador, eu tentei praticamente tudo, e essa foi a única coisa que funcionou para mim

Quade
fonte
1

Abra o Visual Studio, crie um novo aplicativo MVC, feche o novo aplicativo, abra o aplicativo antigo e funciona!

abiNerd
fonte
O mesmo problema que o OP surgiu do nada. VS2013 no projeto WebForms. Seu procedimento resolveu o problema.
secretwep de
1

Verifique se o IIS ou outro processo (talvez BizTalk) está bloqueando suas DLLs / referências
Kill / stop IIS ou o outro processo se estiver

Houss
fonte
0

Acho que encontrei uma pista! Tudo termina em dcomcnfg.exe!

Abra-o e siga o seguinte caminho:

Serviços de componentes> computadores> meu computador> dcom config

após clicar em dcom você verá muitos avisos dependendo da quantidade de componentes em seu pc.

Clique sim em cada caixa de mensagem para adicionar o registro correto para dcom.

Senamas
fonte
1
Como você restringiu isso ao DCOM? Qual sistema operacional você está usando? Não vejo nenhum aviso na minha caixa Win 7 x64.
Mrchief de
0

Descobri que o VS também carrega pacotes durante a "operação em segundo plano". Você pode remover extensões desnecessárias para tornar a operação mais rápida.

Libor
fonte
0

Eu o consertei semanas atrás, depois de desligar o TeamViewer 8 Clipboard Sync! agora ele aparece de volta sem motivo, então tentei redefinir todas as configurações e funcionou para mim.

Afshin
fonte
0

Para mim, foi o complemento Resharper abrindo uma caixa de diálogo que não apareceu. Eu só encontrei o ícone da caixa de diálogo no menu de ícones ocultos na barra de tarefas. Quando me livrei da caixa de diálogo, o Visual Studio voltou ao normal imediatamente.

JanBrus
fonte