Qu'est-ce que cette «opération en attente en arrière-plan» dans Visual Studio 2012?


96

Occassionally, mais assez souvent, sans raison apparente, VS 2012 se verrouille avec un dialogue qui dit, "En attente d'une opération en arrière-plan pour finir". Par exemple, cela peut se produire lors d'une simple édition de l'ancien code, et non lors de l'invocation explicite d'une commande IDE.

Qu'est-ce qui cause cela, et puis-je faire quelque chose à ce sujet?

J'utilise ReSharper 7 et je ne suis pas le seul que je connaisse à en faire l'expérience.


4
C'est un peu le champ gauche, donc je ferai un commentaire plutôt qu'une réponse - mais si j'obtiens cela, c'est normalement parce que j'ai une fenêtre RDC ouverte sur un autre ordinateur et que j'ai récemment mis quelque chose dans cette fenêtre RDC dans le presse-papiers (via un copier / couper) alors parfois vous constaterez qu'il essaie actuellement de le transférer sur ma machine locale ... et donc mon VS attend que cela se termine. La fermeture du RDC le trie normalement
freefaller

2
Merci @freefaller, mais je n'ai jamais de connexion à distance active.
ProfK

3
Ayez le problème exact! C'est vraiment vraiment ennuyeux ... pourriez-vous trouver la source du problème? (PS je n'ai pas ReSharper)
Mahmoud Moravej

1
J'ai également le problème dans VS2010, donc ce n'est pas un problème Vs2012. Pour moi, cela se produit lorsque j'ouvre une solution qui a de nombreux fichiers source ouverts. Après avoir tué le VS avec ProcExp, VS n'ouvre pas tous les fichiers et le problème est résolu.
magicandre1981

7
Il y a des moments où j'aimerais simplement me rendre au bureau Microsoft le plus proche et effectuer un massacre au Texas pour cela. J'écris paisiblement un code, des pensées continuent dans ma tête quand BAM! une claque dans le visage "opérations de fond, duh".
Filip Vondrášek

Réponses:


62

J'avais le même problème, en particulier dans les pages cshtml. J'ai trouvé cette page: https://devblogs.microsoft.com/aspnet/visual-studio-11-beta-razor-editor-issue-workaround qui suggère de changer l'option de retrait dans Outils> Options> Éditeur de texte> HTML> Tab pour Intelligent au lieu de bloquer . Dans mon cas, il était déjà défini sur Smart et le redéploiement en Block a résolu le problème.

Mise à jour: je me suis trompé, cela n'a pas résolu le dialogue, cela l'a juste retardé jusqu'à ce que je le copie ou le colle. Ce qui a finalement fonctionné pour moi, c'est d'aller dans Outils> Paramètres d'importation et d'exportation ...> Réinitialiser tous les paramètres .

Question éventuellement liée: Visual Studios 2010 - Asp.net MVC 4 Beta - longs délais de collage et crashs fréquents


26
J'ai voté et je vais commenter. La mise à jour dans cette réponse a résolu le problème de copier / coller pour moi avec VS2012 - un problème avec lequel j'ai lutté pendant plus de deux semaines en essayant de comprendre. Notez que j'ai sélectionné "Développement Web (code uniquement)" dans la dernière partie de l'assistant de réinitialisation de tous les paramètres. VEUILLEZ METTRE À JOUR POUR QUE CETTE RÉPONSE S'APPUIE MIEUX SUR LES RECHERCHES.
REMESQ

2
Ce que Remesq a dit a fonctionné pour moi. Cela a résolu le problème instantanément. Merci.
draconis

1
+1 Pour moi, je ne pouvais pas coller dans des fichiers 'aspx' sans que le message 'En attente d'un arrière-plan ...' n'apparaisse. Aller dans Outils> Paramètres d'importation et d'exportation> Réinitialiser tous les paramètres et enfin choisir Développement Web lorsqu'on lui a demandé quelle collection réinitialiser, l'a corrigé pour moi. Je vous remercie.
Anthony Walsh

Réinitialiser tous les paramètres fonctionne pendant un certain temps, mais de temps en temps, j'ai toujours cette fenêtre modale ennuyeuse arg !!!!
coffekid

2
+1 Avec Resharper 7, basculer le paramètre Outils> Options> Éditeur de texte> HTML pour bloquer de `` intelligent '' a corrigé le problème pour moi
Tahbaza

32

C'est un diagnostic très générique. Il est déclenché par COM, largement utilisé dans Visual Studio pour implémenter l'extensibilité. Le déclencheur sous-jacent est l'interface IMessageFilter. Le déclencheur se produit lorsque COM rassemble un appel de méthode vers un autre thread et que cet appel ne se termine pas pendant 60 secondes.

Il y a peu de valeur dans la notification réelle, elle vous dit quelque chose que vous savez déjà. Au moment où 60 secondes se sont écoulées, vous avez généralement déjà remarqué que les choses ne fonctionnent pas bien. À court de connaissances utiles, Visual Studio n'est pas complètement mort. L'appel doit cependant se terminer avant que VS ne soit à nouveau utilisable. Vous ne pouvez pas faire grand-chose à part taper du pied et attendre.

Ce problème est presque toujours causé par un complément. Resharper est certainement un bon candidat. Vous trouvez le dérangeur en désactivant les compléments un par un jusqu'à ce que le problème disparaisse. C'est le type de problème courant avec les nouvelles versions de Visual Studio, il faut un certain temps aux fournisseurs de compléments pour résoudre les bogues et les blocages. Contactez le fournisseur pour obtenir de l'aide et recherchez en général les mises à jour susceptibles de résoudre le problème.


7

La suppression du fichier «suo» de Solutions a fonctionné pour moi.


1
Je suis arrivé à cet état après avoir basculé plusieurs fois entre les branches dans git. La suppression du fichier .suo pour le projet l'a fait pour moi aussi
agarcian

6

J'avais le même problème et dans mon cas c'était DevExpress.

Cela semblait bloquer Visual Studio chaque fois que je faisais une opération de copie ou de coupe, ce qui faisait apparaître le message:

"En attente de la fin d'une opération en arrière-plan".

Il s'est avéré qu'il faisait en fait une tâche ponctuelle en arrière-plan et que cela prenait vraiment du temps (plus de 5 minutes).

Peut-être que si j'avais attendu normalement, cela aurait pu disparaître, mais ce qui a finalement été corrigé, c'était d'afficher la boîte à outils (était cachée / réduite), ce qui à son tour a fait apparaître une fenêtre disant:

"ajout de [SomeDevExpressAssemblyNameHere] .dll"

cela continuait à se mettre à jour avec le nom de chaque dll requis par DevExpress pour remplir la barre d'outils.

De cette façon, je pouvais voir la progression de l'opération et une fois l'opération terminée, je pouvais à nouveau utiliser le copier / coller comme d'habitude.

J'espère que cela t'aides.


Cela m'est arrivé après l'installation d'une nouvelle version de CodeRush, puis la désinstallation de l'ancienne. Après avoir simplement attendu (un loooong) temps, VS.Net a simplement terminé ce qu'il faisait.
CodingBarfield

Grrrrr - c'était aussi mon problème, ma boîte à outils était cachée donc je ne pouvais pas voir ce qui se passait.
Fergal Moran

Un autre utilisateur de DevExpress ici, je trouve qu'il le fait après chaque mise à niveau de DevExpress. Prend environ 5 minutes puis est fixé pour de bon.
KingCronus

5

Pour moi, le correctif consistait à mettre à jour Web Essentials 2012 vers la version 1.8.

La version problématique était la 1.6


J'essaye de désactiver WebEssentials mais le problème persiste. Lorsqu'il est non installé, le problème est résolu.
Riccardo Bassilichi

5

Outils> Options> Éditeur de texte> HTML> Onglets -> Identification -> Aucun paramètre n'a résolu ce problème pour moi.


1
Le passage à "bloquer" résout également le problème.
Jenny O'Reilly

3

Cela a résolu le problème pour moi:

Outils> Options> Editeur de texte> HTML> Divers

Décochez l'option "Éléments d'identification automatique lors du collage dans la vue source"

Je publierai une mise à jour si le problème revient.


2

J'ai eu ce problème pendant quelques jours, j'ai essayé de désinstaller et de réinstaller mon Visual Studio 2012 Ultimate edtion SP3 ... Cela ne fonctionnait toujours pas. J'ai donc supprimé toutes mes extensions (outils git pour VS 2012 et téléchargeur de packages Nuget), redémarré mon VS et cela a fonctionné comme un charme à nouveau! Esperons que ça marche !

Bonne chance!


1

J'ai rencontré ce problème lors de l'exécution de Visual Studio dans une machine virtuelle - Virtual Box 4.2 fonctionnant sur Mac OS X Mountain Lion, hébergeant une nouvelle installation de Windows 7 avec rien d'autre installé que Visual Studio. J'ai trouvé que le problème était causé par 2 problèmes distincts.

Tout d'abord, mon projet était sur un dossier partagé à partir du système d'exploitation hôte. En d'autres termes, sur l'invité Windows, mon projet est apparu sur un lecteur réseau. Ainsi, l'ouverture du projet dans Visual Studio à partir d'un lecteur réseau semblait causer ce problème, car le problème a disparu lorsque j'ai copié le projet sur le lecteur C de la machine virtuelle Windows et l'ai ouvert dans Visual Studio à partir de la copie sur le lecteur C.

Deuxièmement, j'ai recommencé à rencontrer le problème lorsque le disque dur de la machine virtuelle devenait plein. J'avais environ 1 Go d'espace libre disponible sur le disque dur. Lorsque j'ai augmenté la taille du disque dur sur la machine virtuelle, ce problème a disparu.


1

Juste reproduit un problème similaire avec le module complémentaire Codemaid. J'ai trouvé cette conversation :

Il y a beaucoup de détails dans ce problème, mais pour essayer de récapituler le problème, c'est que l'API VS2012 C ++ a introduit un problème de blocage lorsque l'API est accessible à partir d'un thread d'interface utilisateur (par exemple, un contexte WPF comme Spade). Ce n'était pas un problème dans VS2010, et Microsoft a résolu le problème pour VS2013, mais ils ne le corrigeront pas pour VS2012.

Semble indiquer qu'un correctif (pour Codemaid) devrait arriver:

Veuillez garder un œil sur ce fil pour la résolution en cours du problème. Il est lié à cette réécriture plus large, donc j'ai construit dans ce sens en ajoutant d'abord beaucoup de tests unitaires pour aider à garantir que les fonctionnalités restent cohérentes après les modifications.


1
Cela a été corrigé maintenant (version 0.7.0). C'était la cause de ma version de ceci, alors merci!
dlanod

1

Pour moi, cela semblait lié à la syntaxe du rasoir, car je ne l'avais que sur un fichier particulier.

Par exemple, si je mets le code suivant dans une ligne, j'ai eu le problème décrit.

@section BodyClassName {note}

Mais en mettant la parenthèse fermante sur la ligne suivante, le problème a disparu

@section BodyClassName {note
}

Sincères amitiés

Stijn


1

Loin d'être une solution idéale, mais essayez d'exécuter Visual Studio en mode administrateur, j'ai pratiquement tout essayé, et c'est la seule chose qui a fonctionné pour moi


1

Ouvrez Visual Studio, créez une nouvelle application MVC, fermez la nouvelle application, ouvrez l'ancienne application et ça marche!


Le même problème que OP est venu à l'improviste. VS2013 sur le projet WebForms. Votre procédure a résolu le problème.
secretwep

1

Vérifiez si IIS ou un autre processus (peut-être BizTalk) verrouille vos DLL / références
Tuez / arrêtez IIS ou l'autre processus si c'est le cas



0

je pense avoir trouvé un indice! Tout est terminé par dcomcnfg.exe!

Ouvrez-le et passez sous le chemin suivant:

Services de composants> ordinateurs> mon ordinateur> configuration dcom

après avoir cliqué sur dcom, vous verrez de nombreux avertissements dépendent de la quantité de composants sur votre PC.

Cliquez sur Oui dans chaque boîte de message afin d'ajouter l'enregistrement correct pour dcom.


1
Comment l'avez-vous réduit à DCOM? Sur quel OS êtes-vous? Je ne vois aucun avertissement sur ma boîte Win 7 x64.
Mrchief

0

J'ai trouvé que VS charge également des paquets pendant "l'opération d'arrière-plan". Vous pouvez supprimer les extensions inutiles pour accélérer l'opération.


0

Je l'ai corrigé il y a des semaines après avoir désactivé TeamViewer 8 Clipboard Sync! maintenant, il apparaît sans raison, j'ai donc essayé de réinitialiser tous les paramètres et cela a fonctionné pour moi.



0

Pour moi, c'était l'addon Resharper qui ouvrait une boîte de dialogue qui ne s'affichait pas. Je n'ai trouvé l'icône de boîte de dialogue que dans le menu des icônes cachées de la barre des tâches. Lorsque je me suis débarrassé de la boîte de dialogue, Visual Studio est immédiatement revenu à la normale.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.