Подтвердить что ты не робот

Visual Studio невероятно медленно при переименовании файлов

У меня есть решение среднего размера с 99 проектами, которые недавно начали вести себя странно:

1) Если я попытаюсь переименовать файл через проводник решений, VS, похоже, повесится, но через долгое время (10+ минут) он завершит операцию переименования.

2) Я также заметил сегодня, что переход между режимами Debug и Release, похоже, также заморозит VS. До сих пор я не позволял ему работать достаточно долго, чтобы убедиться, что это действительно завершено.

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

Запуск Windows 7 Professional на довольно высокоуровневом ноутбуке с 8 ГБ оперативной памяти и новым SSD

Обновление: по-видимому, если я однажды переименовал файл, я могу сразу переименовать его (и другие файлы в решении). Когда я перезапускаю VS, он снова замедляется.

Update2: я оставил компьютер, работающий всю ночь, чтобы попытаться переключиться с Debug на Release, и ему удалось сделать это за 14 часов между тем, чтобы оставить работу и вернуться сюда.

4b9b3361

Ответ 1

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

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

Закрытие Visual Studio и ручное редактирование файла .csproj решили проблему.

Ответ 2

Visual Studio может быть очень медленным при переименовании файлов, если вы используете TFS с "локальной" рабочей областью в качестве противопоставления рабочей области "сервер", а общее количество файлов, включая разные версии в репозитории TFS, превышает 10 000 элементов.

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

Чтобы перейти на рабочую область сервера для TFS в Visual Studio 2015,

  • В VS щелкните File → Source Control → Advanced → Workspaces

  • В открывшемся диалоговом окне выберите рабочее пространство и нажмите "Изменить"...

  • Нажмите Advance... (неважно, какое отображение выбрано).

  • В разделе "Местоположение" выберите "Сервер" и нажмите "ОК".

Переход на сервер может занять десять или более минут в зависимости от размера вашего репозитория.

Как только это будет сделано, переименование файлов должно быть почти мгновенным.

Ответ 3

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

Единственный способ сделать это лучше - это повлиять на наше решение на несколько небольших решений.