Что это за ожидание фоновой операции в Visual Studio 2012?

Случайно, но довольно часто, без видимых причин, VS 2012 закроется диалогом, в котором говорится: "Ожидание завершения фоновой операции". Например. это может произойти во время простого редактирования старого кода, а не при явном вызове какой-либо команды IDE.

Что вызывает это, и я могу что-нибудь сделать с этим?

Я запускаю ReSharper 7, и я не единственный, кого знаю из-за этого.

Ответ 1

У меня была такая же проблема, особенно на страницах cshtml. Я нашел эту страницу: https://devblogs.microsoft.com/aspnet/visual-studio-11-beta-razor-editor-issue-workaround, которая предлагает изменить параметр отступа в Инструменты> Параметры> Текстовый редактор> HTML> Вкладка на Смарт вместо Блока. В моем случае это было уже установлено на Smart, и изменение его обратно на Block решило проблему.

Обновление: я был неправ, это не исправило диалог, оно просто задержало его, пока я не скопировал или вставил. Что мне в итоге помогло, так это перейти в Инструменты> Параметры импорта и экспорта...> Сбросить все настройки.

Возможно связанный вопрос: Visual Studios 2010 - Asp.net MVC 4 Beta - длительные задержки при вставке и частые сбои

Ответ 2

Это очень общая диагностика. Он запускается COM, широко используется в Visual Studio для реализации расширяемости. Основной триггер - это интерфейс IMessageFilter. Триггер возникает, когда COM помещает вызов метода в другой поток и этот вызов не завершается в течение 60 секунд.

В фактическом уведомлении мало значения, оно говорит вам то, что вы уже знаете. К тому времени, когда прошло 60 секунд, вы, как правило, уже заметили, что все работает плохо. Короткие от небольшого количества полезных знаний о том, что Visual Studio на самом деле не полностью мертв. Однако вызов должен завершиться до того, как VS снова будет использоваться. Там мало что можно сделать, но нажмите ногу и подождите.

Эта проблема почти всегда вызвана надстройкой. Решаур, безусловно, хороший кандидат. Вы обнаружите создателя проблем, отключив надстройки один за другим, пока проблема не исчезнет. Это та проблема, которая встречается с новыми версиями Visual Studio, и разработчикам дополнительных устройств требуется некоторое время, чтобы устранить ошибки и зависания. Обратитесь к поставщику за поддержкой и в общих чертах посмотрите обновления, которые могут решить проблему.

Ответ 3

Удаление файлов решений "suo" для меня работало.

Ответ 4

У меня была такая же проблема, и в моем случае это был DevExpress.

Кажется, он висел в Visual Studio каждый раз, когда я делал операцию копирования или вырезания, вызывая сообщение:

"Ожидание завершения фоновой операции".

Оказывается, на самом деле он выполнял одну задачу в фоновом режиме, и на самом деле это заняло некоторое время (более 5 минут).

Возможно, если бы я ждал нормально, это могло бы исчезнуть, но наконец-то это было исправлено, чтобы показать панель инструментов (была скрыта/сработала), которая, в свою очередь, вывела окно, в котором говорилось:

", добавив [SomeDevExpressAssemblyNameHere].dll"

это постоянно обновлялось с именем каждой DLL, требуемой DevExpress, чтобы заполнить панель инструментов.

Таким образом, я мог видеть ход операции, и после его завершения я мог бы использовать скобу/вырезать пасту снова, как обычно.

Надеюсь, что это поможет.

Ответ 5

Для меня было исправлено обновление Web Essentials 2012 до версии 1.8.

Проблемная версия была 1.6

Ответ 6

Инструменты > Параметры > Текстовый редактоp > Настройки HTML > Вкладки → Идентификация → Нет решили эту проблему для меня.

Ответ 7

Это исправлено для меня:

Инструменты > Параметры > Текстовый редактоp > HTML > Разное

Снимите флажок "Элементы автоматического идентификатора при вставке в режиме" Источник "

Я опубликую обновление, если проблема вернется.

Ответ 8

У меня была эта проблема в течение нескольких дней, я попытался удалить и переустановить мою визуальную студию 2012 final edtion SP3... Все еще не сработало. Поэтому я удалил все свои расширения (git инструменты для VS 2012 и загрузчик пакетов Nuget), перезапустил мой VS, и он снова понравился шарм! Надеюсь, это сработает!

Удачи!

Ответ 10

Я столкнулся с этой проблемой во время работы visual studio на виртуальной машине - Virtual Box 4.2, работающей на Mac OS X Mountain Lion, где была установлена ​​новая версия Windows 7, в которой ничего не было установлено, кроме Visual Studio. Я обнаружил, что проблема была вызвана двумя отдельными проблемами.

Во-первых, мой проект был в папке, общей для ОС хоста. Другими словами, в гостевой системе Windows мой проект появился на сетевом диске. Поэтому открытие проекта в Visual Studio с сетевого диска, похоже, вызвало эту проблему, потому что проблема исчезла, когда я скопировал проект на диск C виртуальной машины Windows и открыл его в Visual Studio из копии на диске C.

Во-вторых, я снова начал испытывать проблему, когда жесткий диск на виртуальной машине заполнялся. У меня было около 1 ГБ свободного места на жестком диске. Когда я увеличил размер жесткого диска на виртуальной машине, этот вопрос исчез.

Ответ 11

Просто воспроизведенная аналогичная проблема с надстройкой Codemaid. Нашел этот разговор:

В этом выпуске много подробностей, но чтобы попытаться воспроизвести проблему заключается в том, что VS2012 С++ API представил проблему взаимоблокировки, когда API доступ из потока пользовательского интерфейса (например, WPF-контекст, такой как Spade). Это не было проблема в VS2010, и Microsoft исправила это для VS2013, но они не будут исправлять его для VS2012.

Кажется, что необходимо исправить (для Codemaid):

Пожалуйста, следите за этой нитью за текущее разрешение вопрос. Это связано с тем большим переписанием, поэтому я строил это путем добавления большого количества единичных тестов в первую очередь для обеспечения функциональности остается неизменным после изменений.

Ответ 12

Для меня это, казалось, было связано с синтаксисом бритвы, так как я только имел его в одном конкретном файле.

Например, если я поместил следующий код в одну строку, у меня была описанная проблема.

@section BodyClassName {note}

Но при установке закрывающей круглой скобки на следующей строке проблема исчезла.

@section BodyClassName {note
}

С уважением

Стейн

Ответ 13

Вдали от идеального решения, но, пожалуйста, попробуйте запустить визуальную студию в режиме администратора я попробовал практически все, и это было единственное, что сработало для меня.

Ответ 14

Откройте Visual Studio, создайте новое приложение MVC, закройте новое приложение, откройте старое приложение и оно будет работать!

Ответ 15

Убедитесь, что IIS или другой процесс (возможно, BizTalk) блокирует ваши DLL/ссылки
Убить/остановить IIS или другой процесс, если он

Ответ 16

Я думаю, что нашел ключ! Все заканчивается dcomcnfg.exe!

Откройте его и перейдите по следующему пути:

Службы компонентов > компьютеры > мой компьютеp > dcom config

после нажатия на dcom вы увидите, что многие предупреждения зависят от количества компонентов на вашем ПК.

Нажмите "Да" в каждом окне сообщения, чтобы добавить правильную запись для dcom.

Ответ 17

Я обнаружил, что VS также загружает пакеты во время "фоновой операции". Вы можете удалить ненужные расширения, чтобы ускорить работу.

Ответ 18

У меня это исправлено несколько недель назад после того, как я выключил TeamViewer 8 Clipboard Sync! теперь он появляется без причины, поэтому я попробовал reset все настройки, и это сработало для меня.

Ответ 19

У меня была такая же проблема, и я запускал VS как администратор, похоже, помогло (я опубликовал аналогичный вопрос в Visual Studio 2012 Express Hangs with Message " "Ожидание фоновой операции для завершения" в команде "Формат документа" , которая была помечена как дубликат для этого, поэтому я решил, что я также поделился бы здесь).

Ответ 20

Для меня это был демон Resharper, открывающий диалоговое окно, которое не отображалось. Я нашел значок диалога в меню скрытых значков на панели задач. Когда я избавился от диалога, Visual Studio немедленно вернулась к нормальной работе.