vs2008 c # проект мучительно медленный - PullRequest
1 голос
/ 29 октября 2009

мой самый большой проект C # VS2008 недавно стал мучительно медленным. В тот момент, когда я начинаю печатать, он занимает 100% одного из моих процессоров. Строительство, которое (до недавнего времени) было очень быстрым, теперь занимает гораздо больше времени. Я отключил все добавления, очистил решение и все еще ползает. При наборе текста наблюдается заметная задержка, особенно при удалении. Я также перезапустил много раз. Это значительно снижает мою производительность, поэтому, если у кого-то есть какие-либо идеи, я буду очень признателен за помощь.

РЕДАКТИРОВАТЬ: Извините, это VS2008 SP1

Ответы [ 4 ]

4 голосов
/ 29 октября 2009

Я заметил эту часть:

При вводе

наблюдается заметная задержка

И это заставляет меня думать интеллигентно. Объедините это с этим:

Строительство, которое (до недавнего времени) было очень быстрым, теперь занимает гораздо больше времени.

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

Под этим подразумевается, что тип A зависит от типа B для компиляции, который зависит от типа C, который, в свою очередь, зависит от типа A. Обычно это не должно происходить, но, например, если «A» имеет строгое имя и вы ссылаетесь на две разные версии одной и той же библиотеки, Visual Studio может запутаться.

1 голос
/ 29 октября 2009

У вас есть что-то вроде codeRush или других плагинов? Если это так, отключите все плагины.

Вы пытались открыть решение при "чистой" установке Visual Studio?

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

0 голосов
/ 29 октября 2009

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

0 голосов
/ 29 октября 2009

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

Для решения проблем с зависимостями Джоэл Кохорн предлагает использовать инструмент типа NDepend для быстрой визуализации зависимостей.

...