Program Visual Studio 2017 działa zbyt wolno podczas kompilowania i debugowania


95

Właśnie zainstalowałem program Visual Studio 2017 na komputerze o następujących specyfikacjach:

Procesor Intel Xeon E5-1600 v3 @ 3,50 GHz, 16 GB pamięci RAM i 64-bitowy system operacyjny Windows 10 Pro .

Chociaż wydajność komputera jest prawie idealna, zwykle napotykam problem powolności w programie Visual Studio 2017, zwłaszcza podczas procesów kompilacji i debugowania. Oprócz tego czasami muszę go ponownie uruchomić po komunikacie „Brak odpowiedzi” .

Czy istnieje stabilne rozwiązanie tego problemu dla programu Visual Studio 2017 ?


3
Czy jest włączona opcja „lekkie ładowanie rozwiązania”? To spowalniało moją kompilację sln ~ 2x razy
tukaef

1
@ 2kay Gdzie jest to ustawienie?
Clint Eastwood

1
@hexadecimal kliknij prawym przyciskiem myszy sln -> włącz / wyłącz ładowanie lekkiego rozwiązania
tukaef

@ 2kay To było wyłączone, dzięki ...
Clint Eastwood

Odpowiedzi:


167

Aby uzyskać lepszą wydajność w programie Visual Studio 2017, można zastosować pewne ulepszenia wydajności, jak pokazano poniżej:

  1. Ustaw opcję Bieżąca kontrola źródła… na Brak w menu NarzędziaOpcjeKontrola źródła

  2. Odznacz opcję Synchronizowane ustawienia w ... w menu NarzędziaOpcjeŚrodowiskoUstawienia zsynchronizowane (dla niektórych wersji: NarzędziaOpcjeŚrodowiskoKonta )

  3. Wyłącz CodeLens (opcjonalnie): Usuń zaznaczenie opcji Włącz CodeLens w menu NarzędziaOpcjeEdytor tekstuWszystkie języki

  4. Wyłącz narzędzia diagnostyczne (opcjonalnie): Usuń zaznaczenie opcji Włącz narzędzia diagnostyczne podczas debugowania w obszarze NarzędziaOpcjeDebugowanieOgólne

  5. Wyczyść zawartość w następujących folderach ( nie usuwaj tych folderów, zamiast tego usuń tylko ich zawartość ) i uruchom ponownie program Visual Studio:

    Wyczyść zawartość w folderze WebSiteCache (można go znaleźć w
    C: \ Users \% USERNAME% \ AppData \ Local \ Microsoft \ WebSiteCache )

    Wyczyść zawartość w folderze Temporary ASP.NET Files (można go znaleźć w
    C: \ Users \% USERNAME% \ AppData \ Local \ Temp \ Temporary ASP.NET Files )

Uwaga: Jeśli masz włączoną akcelerację sprzętową lub jeśli używasz domyślnych ustawień środowiska wizualnego w programie Microsoft Visual Studio 2017 lub Visual Studio 2015, mogą wystąpić sporadyczne problemy z wydajnością, awarie produktu lub problemy z renderowaniem. Aby obejść te problemy, zastosuj następujące ustawienia w menu NarzędziaOpcjeŚrodowiskoOgólne

wprowadź opis obrazu tutaj

Aby uzyskać więcej informacji, odwiedź stronę Występują problemy z wydajnością, awarie produktu lub problemy z renderowaniem w programie Visual Studio 2015 i Visual Studio 2013 .

Jeśli problem jest związany z debugowaniem, wypróbuj obejście podczas debugowania / ładowania programu Visual Studio bardzo wolno .

Mam nadzieję, że to pomoże...


8
Zastosowanie tego ustawienia znacząco zwiększyło wydajność programu Visual Studio 2017, wielkie dzięki :)
Clint Eastwood

9
Wyłączenie kontroli źródła nie jest tak naprawdę opcją, gdy używasz TFS lub Git. Wydaje się, że oba foldery tymczasowe mają zastosowanie tylko do programowania ASP, ale nie istnieją na moim komputerze.
Lennart

6
@Lennart: Przynajmniej z Git, zawsze możesz wykonywać zadania związane z kontrolą źródła poza VS (np. Używając gitnarzędzia wiersza poleceń) i mieć wyłączoną integrację Git w VS. Wprawdzie jest to inny przepływ pracy, który może ci się nie spodobać, ale mimo to jest to wykonalna opcja.
stakx - nie publikuje już

4
Wyłączenie przywracania pakietów NuGet może również przyspieszyć działanie. Narzędzia => Opcje => Przywracanie pakietu. Odznacz opcję Zezwalaj NuGet na pobieranie brakujących pakietów.
Preben Huybrechts

3
Warto byłoby dołączyć wersję VS2017, której dotyczy ta odpowiedź. Jak wspomniał @bkassar, nr 2 znajduje się w menu Narzędzia → Opcje → Środowisko → Konta w wersji 15.8.5. Nie jestem pewien, w której wersji to się zmieniło, ale będzie zmarnowany czas na próbę znalezienia Środowiska → Zsynchronizowanych ustawień dla tych, którzy aktualizują VS i właśnie napotkali ten problem.
cechow

8

Może istnieć rozwiązanie priorytetowe.

1) Wyłącz narzędzia diagnostyczne

wprowadź opis obrazu tutaj

2) Wyłącz obsługę wizualną klienta Ricka

wprowadź opis obrazu tutaj

3) Wyłącz wszystkie ustawienia synchronizacji.

wprowadź opis obrazu tutaj

upewnij się również, że usunąłeś pamięć podręczną za pomocą polecenia run ->% temp%. powodzenia.


5

Mój problem dotyczył Lightweight Solution Load. Kiedyś wyłączyłem, że wszystko wróciło do normy.


Dziękuję Ci! właśnie zaoszczędziłeś mi tyle czasu!
fk2

1
mi się przydarzyło to zabawne, jak lekkie rozwiązanie jest w rzeczywistości cięższe niż normalne rozwiązanie.
Bill Yang

Nie mogę znaleźć tej opcji w VS2017 Enterprise
Savage,

3
@Savage Opcja została usunięta w VS2017. Zobacz: docs.microsoft.com/en-us/visualstudio/ide/…
Yamakuzure

3

Mam ten link do zarządzania wydajnością programu Visual Studio w moim VS 2017

Uwaga: Możesz również otworzyć to okno z: Pomoc -> Zarządzaj wydajnością programu Visual Studio

Zgodnie z poniższym zrzutem ekranu, Developer Analytics Tools dodaje 5 sekund (średnio) do czasu ładowania rozwiązania. Wyłączyłem to.

wprowadź opis obrazu tutaj


2

Pobierz procmon i uruchom, aby sprawdzić działania w tle wykonywane przez msbuild lub Visual Studio. Visual studio może działać bardzo wolno lub prawie bezużyteczne w przypadku, gdy zapisuje dziennik przy użyciu fuslogvw.

Kroki, aby zatrzymać zapisywanie dziennika fuslogvw.

1) Window + R, wpisz RegEdit 2) Przejdź do ścieżki HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Fusion 3) Ustaw szesnastkową wartość Force Log na 0.

Program Visual Studio zacznie działać normalnie.


Dzięki @Akash !! Po wyłączeniu mojego rozwiązania moje rozwiązanie działa szybciej. Myślę, że powinniśmy włączyć to tylko do rozwiązywania problemów.
Davi Ruiz

2

Używam VS 2017 w systemie, który ma 128 GB pamięci RAM i 4 czterordzeniowe procesory Xeon z dyskiem SSD. Oczywiście używam systemu Windows 10 Pro for Workstations, aby obsługiwać moją wersję z czterema procesorami.

To, co naprawdę pomogło mi skrócić czas kompilacji do mniej niż 2 sekund, to ta prosta sztuczka:

Skonfigurowanie ustawienia komputera hosta na optymalizację w „Usługach w tle” przy użyciu właściwości systemu Windows, Zaawansowane ustawienia systemu, Zaawansowane, karta Zaawansowane.

Ponadto, biorąc pod uwagę, że mam ogromną ilość pamięci RAM i nigdy nie widziałem, aby używana była nawet jedna czwarta, to wyłączenie pliku strony. (Windows ostrzeże o konsekwencjach)

Warto też dodać folder instalacji i projektu VS do listy wyjątków w ustawieniach antywirusa (w moim przypadku Windows Defender)


0

Wypróbowałem wszystkie powyższe rozwiązania i skorzystałem z wielu odpowiednich linków. Żaden z nich nie działał.

Po ściągnięciu wszystkich włosów i napełnieniu kolejną filiżanką kawy zdecydowałem się zaktualizować Visual Studio 2017. Bum, wszystko wróciło do normy (poza włosami i mózgiem z kofeiną).

Jeśli więc kiedykolwiek napotkasz ten sam problem, sugeruję najpierw sprawdzić aktualizację programu Visual Studio 2017. Jeśli jest dostępna aktualizacja, zaktualizuj!


spróbuj usunąć plik suo. co dla mnie działa docs.microsoft.com/en-us/collaborate/connect-redirect
yohan.jayarathna

0

Miałem podobny problem z VS Community w wersji 2017 i wyłączyłem "Włącz narzędzia diagnostyczne podczas debugowania", tylko to, nic więcej ... !!!

Narzędzia> Opcje> Debuguj> Ogólne> Włącz narzędzia diagnostyczne podczas debugowania


0

Zauważyłem, że „ perfwatson2.exe proces najwięcej procesora / pamięci / dysku podczas budowania VS 2017. Proces perfwatson2 zbiera dane o działaniach systemu, które zajmują więcej czasu (około 2+ sekund) i wysyłają te dane do Microsoft. Zespół Microsoft może przeanalizować dane i znaleźć rozwiązanie dla tego samego.

Poniższe kroki pomogą zatrzymać usługę / proces perfwatson2.

Otwórz VS2017 i przejdź do Pomoc => Prześlij opinię => Ustawienia i ustaw opcję Nie, nie chcę brać udziału

wprowadź opis obrazu tutaj


0

Spróbuj usunąć folder .vs utworzony przez VS2017 w lokalnym repozytorium kodu. Następnie ponownie otwórz rozwiązanie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.