Это часто происходит из-за загрузки в режиме «Дизайн» внешних ресурсов, время которых истекло. Как упомянул @JonK, для него это были ссылки на jQuery. Я видел это, когда ConnectionString был настроен на производственные базы данных, к которым у меня не было доступа на моей машине для разработки, даже если я не отлаживал (не выполнял) только редактирование кода сайта, он все равно пытался подключиться, и потому что не мог это остановит ожидание тайм-аута.
VS2008 в основном однопоточный для таких операций пользовательского интерфейса, поэтому, если он загружает медленный или несуществующий сетевой путь, он зависает следующим образом.
VS2008 может выполнять все виды сетевых запросов, поэтому эти два примера могут не решить эту проблему за вас. Наилучший способ диагностики проблемы - использование инструмента Microsoft Process Monitor , фильтрация по Process webdev.exe
и наблюдение за запросами ввода-вывода, которые долго выполняются и / или выдают ошибки. В моем случае я мог найти место, где возникла проблема, потому что между сотнями записей ввода / вывода в Process Monitor будет промежуток в 20 секунд. Затем, просто вернувшись назад с момента возникновения этого разрыва, я обнаружил запрос, который вызвал проблему.
Это может быть невозможно для вас, но если вы можете, обновление до VS2010 поможет; он намного лучше справляется с запуском процессов в нескольких потоках в большем количестве мест, поэтому вам не нужно об этом беспокоиться.