¿Qué es esta 'operación en espera de fondo' en Visual Studio 2012?

96

De vez en cuando, pero con bastante frecuencia, sin razón aparente, VS 2012 se bloqueará con un diálogo que dice, "Esperando que termine una operación en segundo plano". Por ejemplo, esto puede suceder durante una edición de código antiguo simple, no al invocar explícitamente ningún comando IDE.

¿Qué causa esto? ¿Hay algo que pueda hacer al respecto?

Estoy ejecutando ReSharper 7 y no soy el único que conozco que está experimentando esto.

ProfK
fuente
4
Esto es un poco del campo izquierdo, por lo que haré un comentario en lugar de responder, pero si obtengo esto es normalmente porque tengo una ventana RDC abierta a otra computadora, y recientemente puse algo en esa ventana RDC en el portapapeles (a través de un copiar / cortar), a veces encontrará que actualmente está tratando de transferirlo a mi máquina local ... y, por lo tanto, mi VS está esperando que se complete. Cerrar el RDC normalmente lo ordena
freefaller
2
Gracias @freefaller, pero nunca tengo ninguna conexión remota activa.
ProfK
3
¡Tiene el problema exacto! Es realmente muy molesto ... ¿Podrías encontrar la fuente del problema? (PD: no tengo ReSharper)
Mahmoud Moravej
1
También tengo el problema en VS2010, por lo que este no es un problema de Vs2012. Para mí, sucede cuando abro una solución que tiene muchos archivos fuente abiertos. Después de matar al VS con ProcExp, VS no abre todos los archivos y el problema desaparece.
magicandre1981
7
Hay momentos en los que me gustaría ir a la oficina de Microsoft más cercana y realizar una masacre en Texas por esto. Estoy escribiendo un código pacíficamente, pensamientos están pasando en mi cabeza cuando BAM! una bofetada en la cara "operaciones de fondo, duh".
Filip Vondrášek

Respuestas:

62

Estaba teniendo el mismo problema, especialmente en las páginas cshtml. Encontré esta página: https://devblogs.microsoft.com/aspnet/visual-studio-11-beta-razor-editor-issue-workaround que sugiere cambiar la opción de sangría en Herramientas> Opciones> Editor de texto> HTML> Tab a Inteligente en lugar de Bloquear . En mi caso, ya estaba configurado en Smart y volviéndolo a bloquear solucionó el problema.

Actualización: Me equivoqué, eso no solucionó el diálogo, solo lo retrasó hasta que lo copié o pegué. Lo que finalmente funcionó para mí fue ir a Herramientas> Importar y exportar configuraciones ...> Restablecer todas las configuraciones .

Pregunta posiblemente relacionada: Visual Studios 2010 - Asp.net MVC 4 Beta - largas demoras en el pegado y fallas frecuentes

Walter
fuente
26
Yo voté a favor y voy a comentar. La actualización en esta Respuesta resolvió el problema de Copiar / Pegar para mí con VS2012, un problema con el que luché durante más de dos semanas tratando de resolverlo. Tenga en cuenta que seleccioné "Desarrollo web (solo código)" en la última parte del asistente Restablecer todas las configuraciones. POR FAVOR VOTE PARA QUE ESTA RESPUESTA SE MUESTRE MEJOR EN LAS BÚSQUEDAS.
REMESQ
2
Lo que dijo Remesq funcionó para mí. Resolvió el problema al instante. Gracias.
Draconis
1
+1 Para mí, no podría pegar en archivos 'aspx' sin que apareciera el mensaje 'Esperando un fondo ...'. Ir a Herramientas> Importar y exportar configuraciones> Restablecer todas las configuraciones y finalmente elegir Desarrollo web cuando se le preguntó qué colección restablecer, lo arreglé por mí. Gracias.
Anthony Walsh
Restablecer todas las configuraciones funciona por un tiempo, pero de vez en cuando todavía tengo esta molesta ventana modal arg !!!!
coffekid
2
+1 Con Resharper 7 cambiando Herramientas> Opciones> Editor de texto> Configuración HTML para bloquear desde 'inteligente' se corrigió el problema para mí
Tahbaza
32

Es un diagnóstico muy genérico. Lo activa COM, muy utilizado en Visual Studio para implementar la extensibilidad. El disparador subyacente es la interfaz IMessageFilter. El desencadenante se produce cuando COM calcula una llamada de método a otro subproceso y esa llamada no se completa durante 60 segundos.

Hay poco valor en la notificación real, le dice algo que ya sabe. Cuando han pasado 60 segundos, normalmente ya habrá notado que las cosas no funcionan bien. A falta de un poquito de conocimiento útil de que Visual Studio en realidad no está completamente muerto. Sin embargo, la llamada debe completarse antes de que VS pueda volver a utilizarse. Es poco lo que puede hacer, excepto golpear con el pie y esperar.

Este problema casi siempre es causado por un complemento. Resharper es sin duda un buen candidato. El alborotador se encuentra deshabilitando los complementos uno por uno hasta que el problema desaparezca. Es el tipo de problema que es común con las nuevas versiones de Visual Studio, los proveedores de complementos tardan un tiempo en solucionar los errores y los bloqueos. Póngase en contacto con el proveedor para obtener asistencia y, en general, busque actualizaciones que puedan resolver el problema.

Hans Passant
fuente
7

Eliminar el archivo "suo" de Soluciones funcionó para mí.

chris.rickard
fuente
1
Llegué a este estado después de cambiar muchas veces entre ramas en git. Eliminar el archivo .suo para el proyecto también lo hizo por mí
agarcian
6

Estaba teniendo el mismo problema y en mi caso fue DevExpress.

Parecía colgar Visual Studio cada vez que hacía una operación de copia o corte, lo que mostraba el mensaje:

"Esperando que finalice una operación en segundo plano".

Resulta que en realidad estaba haciendo una sola tarea en segundo plano y realmente estaba tardando un poco en hacerlo (más de 5 minutos).

Quizás si hubiera esperado normalmente, podría haber desaparecido, pero lo que finalmente se arregló fue mostrar la Caja de herramientas (estaba oculta / colapsada), lo que a su vez abrió una ventana que decía:

"agregando [SomeDevExpressAssemblyNameHere] .dll"

esto siguió actualizándose con el nombre de cada dll requerido por DevExpress para llenar la barra de herramientas.

De esta manera pude ver el progreso de la operación y, una vez que terminó, pude usar copiar / cortar y pegar nuevamente como de costumbre.

Espero que esto ayude.

Ric Tokio
fuente
Esto me sucedió después de instalar una nueva versión de CodeRush y luego desinstalar la anterior. Después de esperar (muuuuucho) tiempo, VS.Net simplemente terminó lo que estaba haciendo.
CodingBarfield
Grrrrr, este también era mi problema, mi caja de herramientas estaba oculta, así que no podía ver lo que estaba pasando.
Fergal Moran
Otro usuario de DevExpress aquí, creo que hace esto después de cada actualización de DevExpress. Tarda unos 5 minutos y luego se arregla para siempre.
KingCronus
5

Para mí, la solución fue actualizar Web Essentials 2012 a la versión 1.8.

La versión problemática fue 1.6

romano
fuente
Intento desactivar WebEssentials pero el problema persiste. Cuando se desmonta, el problema se resuelve.
Riccardo Bassilichi
5

Herramientas> Opciones> Editor de texto> HTML> Pestañas -> Identificación -> Ninguna configuración me resolvió este problema.

Jits
fuente
1
Cambiar a "bloquear" también soluciona el problema.
Jenny O'Reilly
3

Esto me lo arregló:

Herramientas> Opciones> Editor de texto> HTML> Varios

Desmarque la opción "Elementos de identificación automática al pegar en la vista de código fuente"

Publicaré una actualización si el problema vuelve.

TheTim
fuente
2

Tuve este problema durante un par de días, intenté desinstalar y reinstalar mi Visual Studio 2012 ultimate edtion SP3 ... Todavía no funcionó. Así que eliminé todas mis extensiones (herramientas de git para VS 2012 y el descargador de paquetes Nuget), reinicié mi VS y ¡funcionó como un encanto nuevamente! Espero que funcione !

¡Buena suerte!

Lucas MCKENNA
fuente
1

Experimenté este problema mientras ejecutaba Visual Studio en una máquina virtual: Virtual Box 4.2 ejecutándose en Mac OS X Mountain Lion, alojando una nueva instalación de Windows 7 sin nada más instalado que Visual Studio. Descubrí que el problema se debía a dos problemas distintos.

En primer lugar, mi proyecto estaba en una carpeta compartida desde el sistema operativo host. En otras palabras, en Windows Guest, mi proyecto apareció en una unidad de red. Entonces, abrir el proyecto en Visual Studio desde una unidad de red pareció causar este problema porque el problema desapareció cuando copié el proyecto en la unidad C de la VM de Windows y lo abrí en Visual Studio desde la copia en la unidad C.

En segundo lugar, comencé a experimentar el problema nuevamente cuando el disco duro de la máquina virtual se estaba llenando. Tenía aproximadamente 1 GB de espacio libre disponible en el disco duro. Cuando aumenté el tamaño del disco duro en la máquina virtual, este problema desapareció.

Machaba
fuente
1

Acabo de reproducir un problema similar con el complemento Codemaid. Encontré esta conversación :

Hay muchos detalles en este problema, pero para intentar recapitular el problema es que la API C ++ de VS2012 introdujo un problema de interbloqueo cuando se accede a la API desde un hilo de la interfaz de usuario (por ejemplo, un contexto WPF como Spade). No fue un problema en VS2010, y Microsoft lo ha solucionado en el futuro para VS2013, pero no lo parcheará para VS2012.

Parece indicar que debería venir una solución (para Codemaid):

Esté atento a este hilo para ver la resolución continua del problema. Se relaciona con esa reescritura más grande, por lo que he estado avanzando hacia ella agregando muchas pruebas unitarias primero para ayudar a garantizar que la funcionalidad permanezca constante después de los cambios.

dtmland
fuente
1
Se ha solucionado ahora (versión 0.7.0). Esta fue la causa de mi versión de esto, ¡así que gracias!
dlanod
1

Para mí, parecía estar relacionado con la sintaxis de razor, ya que solo lo tenía en un archivo en particular.

Por ejemplo, si pongo el siguiente código en una línea, tengo el problema descrito.

@section BodyClassName {note}

Pero al poner el paréntesis de cierre en la siguiente línea, el problema desapareció.

@section BodyClassName {note
}

Saludos cordiales

Stijn

Stijn Liesenborghs
fuente
1

Lejos de ser una solución ideal, pero por favor, intente ejecutar Visual Studio en modo administrador. Probé prácticamente todo, y esto fue lo único que funcionó para mí.

Quade
fuente
1

Abra Visual Studio, cree una nueva aplicación MVC, cierre la nueva aplicación, abra la aplicación anterior y ¡funciona!

abiNerd
fuente
El mismo problema que OP surgió de la nada. VS2013 en el proyecto WebForms. Su procedimiento resolvió el problema.
secretwep
1

Compruebe si IIS u otro proceso (tal vez BizTalk) está bloqueando sus DLL / referencias
Kill / parada IIS o el otro proceso si es

houss
fuente
0

¡Creo que he encontrado una pista! ¡Todo ha terminado en dcomcnfg.exe!

Ábrelo y ve debajo de la siguiente ruta:

Servicios de componentes> computadoras> mi computadora> configuración dcom

después de hacer clic en dcom, verá muchas advertencias que dependen de la cantidad de componentes en su PC.

Haga clic en sí en cada cuadro de mensaje para agregar el registro correcto para dcom.

Senamas
fuente
1
¿Cómo lo redujo a DCOM? ¿En qué sistema operativo estás? No veo ninguna advertencia en mi caja Win 7 x64.
Mrchief
0

Descubrí que VS también carga paquetes durante la "operación en segundo plano". Puede eliminar las extensiones innecesarias para acelerar la operación.

Libor
fuente
0

¡Lo arreglé hace semanas después de apagar TeamViewer 8 Clipboard Sync! ahora aparece de nuevo sin ningún motivo, así que intenté restablecer todas las configuraciones y funcionó para mí.

Afshin
fuente
0

Para mí, fue el complemento Resharper que abrió un cuadro de diálogo que no se mostró. Solo encontré el ícono de diálogo en el menú de íconos ocultos en la barra de tareas. Cuando me deshice del diálogo, Visual Studio volvió a la normalidad de inmediato.

JanBrus
fuente