VS2008 частично зависает при переключении в режим просмотра HTML

Это странное замораживание. Когда я переключаюсь из представления исходного кода в представление дизайна для файла HTML или ASPX, клиентская область зависает, но я все равно могу нажимать на другие вкладки и меню.

Что мне здесь не хватает? На самом деле не хочется переустанавливать VS2008.

3 ответа

Решение

У меня была такая же проблема, и я нашел одно решение.

В VS 2008 на странице, которая использовала главную страницу, либо частоту при работе в представлении источника, либо при переключении в представление дизайна, среда IDE зависала на 10-20 секунд.

В моем основном шаблоне у меня были ссылки на размещенный в Google JQuery, пользовательский интерфейс Jquery и еще один или два сценария вне сайта. Они были размещены прямо в главном разделе моей главной страницы.

Я скачал js, а затем, удалив любые ссылки за пределами сайта, моя среда IDE снова была бы гладкой как в режиме разработки, так и в режиме исходного кода.

Я также обнаружил, что могу поместить сценарии в свой ToolkitScriptManager (я использую AjaxControlToolkit) и добавил Mode="Release", а также смог разместить ссылки на http://www.google.com/ для этих сценариев. IDE по-прежнему работает нормально для меня.

Вы пытались перезагрузить компьютер, а затем снова открыть проект?

Часто это происходит из-за загрузки в режиме "Дизайн" внешних ресурсов, время ожидания которых истекло. Как упомянул @JonK, для него это были ссылки на jQuery. Я видел это, когда ConnectionString был настроен на производственные базы данных, к которым у меня не было доступа на моей машине для разработки, даже если я не отлаживал (не выполнял) только редактирование кода сайта, он все равно пытался подключиться, и потому что не мог это остановило бы ожидание тайм-аута.

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

VS2008 может выполнять все виды сетевых запросов, поэтому эти два примера могут не решить это за вас. Лучший способ, который я нашел для диагностики проблемы, это использовать инструмент Microsoft Process Monitor, отфильтрованный по Process webdev.exeи следить за запросами ввода-вывода, которые долго выполняются и / или выдают ошибки. В моем случае я мог найти место, в котором возникла проблема, потому что между сотнями записей ввода-вывода в Process Monitor был бы промежуток в 20 секунд. Затем, просто вернувшись назад с момента возникновения этого разрыва, я в конце концов нашел запрос, который вызвал проблему.

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

Другие вопросы по тегам