Visual Studio 2008 зависает после сохранения - PullRequest
0 голосов
/ 10 марта 2010

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

Некоторые интересные моменты:

  • Даже после того, как я удалил классы, поведение замораживания все еще там.

  • Замораживание происходит независимо от того, внес я изменения в код или нет.

  • Такое поведение, похоже, влияет только на эту конкретную версию этого решения. Никакие другие решения не демонстрируют такого поведения. Более старые версии этого решения не затрагиваются.

  • В Sysinternals Process Explorer всякий раз, когда я сохраняю в Visual Studio, график байтов ввода-вывода изменяется от 0 до 2 МБ в течение примерно 5 секунд, затем падает на 1 МБ в течение доли секунды, затем возвращается к 2 МБ еще 5 секунд. Использование процессора увеличивается примерно на 3-5% за это время.

Вот детали моей настройки:

Проект C # Silverlight (возможно, 20 классов), .NET версия 3.5 SP1, Visual Studio 2008 v9.0.30729 SP1.

EDIT:

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

Ответы [ 3 ]

0 голосов
/ 10 марта 2010

У меня была похожая проблема, это сработало: http://support.microsoft.com/kb/946344 под названием «У вас могут возникнуть проблемы с производительностью в IDE после использования Visual Studio 2008 для создания проекта Visual Basic»

0 голосов
/ 10 апреля 2013

Только что закончил весь день погоню за этой ошибкой. По своему опыту я обнаружил, что это зависит от количества строк. Однако это значение зависит от конкретной машины. На моей машине это был предел числа строк 35,129, который не был привязан к размеру. У коллеги не было тех же проблем при сохранении того же файла, однако я смог воссоздать проблему, вставив пустые строки. Затем я убрал на одну строку меньше порогового значения и добавил символы, чтобы увеличить размер файла, что не создавало проблемы, поэтому я могу с уверенностью сказать, что для меня это был счетчик строк. Индикатор также может быть маленькой изогнутой синей стрелкой рядом с количеством строк в VS. Когда я превысил бы количество строк, этот индикатор появился в строке 35,129.

Изменить: Если это ваша проблема (и представляет очень большой класс), то подходящее исправление может быть реализовано с помощью частичных классов. Для получения дополнительной информации проверьте http://www.techrepublic.com/article/splitting-a-class-across-files-in-vbnet/6179621

0 голосов
/ 10 марта 2010

Я не могу быть уверен, что это та же проблема, но я испытывал аналогичные замедления из-за дизайнера Windows Forms. Я исправил это, перейдя на

Сервис -> Параметры -> Конструктор Windows Forms

и отключение AutoToolboxPopulate. Это длинный план, но вы можете попробовать. Кроме того, одна вещь, которую я делаю для более крупных решений - это компиляция из командной строки, а не в visual studio. Вам просто нужно открыть командную строку Visual Studio и использовать msbuild (имя решения | имя проекта). Вы также можете использовать / m для многоядерной компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...