Налагодження / завантаження Visual Studio дуже повільно


505

Я в дотепному кінці. Visual Studio, як правило, болісно повільно налагоджує або просто завантажує ("запуск без налагодження") моїх сайтів ASP.NET MVC. Не завжди: спочатку проекти завантажуватимуться добре і швидко, але як тільки вони завантажуються повільно, вони завжди завантажуватимуться повільно після цього. Я міг чекати 1-2 хвилини і більше.

Моя установка:

Наразі я використовую Visual Studio 2012 Express , але у мене була така ж проблема і в Visual Studio 2010 Express. Моє рішення зберігається на мережевому диску; конкретно, це "Мої документи", перенаправлені на мережевий диск, якщо це має значення. (Це не повинно. Буває час, коли мій сайт завантажується дуже швидко в рамках цього налаштування.)

Завантажую в Internet Explorer 9 зазвичай, але така ж проблема трапляється і в Firefox.

Це може статися в будь-якому проекті ASP.NET MVC, над яким я працюю, і, здається, обертається тим, що має DisplayTemplates, що і всі мої проекти ASP.NET MVC. І це все C # і бритва, якщо це має значення.

Симптоми:

Система завантажить мої символи в сотні разів. В основному, наступне, але є щонайменше 300 таких рядків, у кожному з незмінно різними файлами DLL для тих же CSHTML:

'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.xighmhow.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.cv5hktkf.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.1o77hs8i.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.jja-77mw.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.l_e9ev_s.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.b4n59gom.dll', Symbols loaded.

У вищесказаному у мене є три DisplayTemplates: "Contact", "Location" та "StatusCode". Видається, що IIS завантажує символи двічі за кожен виклик шаблону дисплея. Таким чином, якщо я показую таблицю з 100 записів, яка викликає всі три з цих шаблонів відображення, це завантажено 600 окремих символів.

Це теж не швидка операція. Переглядаючи файли журналів, які створює IIS, для завантаження кожного символу потрібно близько 200 мс. Таким чином, наддовгі затримки.

Що я пробував:

  • Налагодження або версія версії, це не має значення.
  • Поставлення мого проекту на повну реалізацію IIS на веб-сервері працює дуже швидко без проблем.
  • Cassini, IIS Express 7.5 та IIS Express 8.0 мають проблеми.
  • Видалити всі точки прориву нічого не робить.
  • Чисте рішення або видалення .suo також нічого не роблять.
  • Якщо я ремонтую IIS Express або видаляю My Docs\IISExpressпапку або відновлюю / перевстановлюю Visual Studio →, проблема МОЖЕ піти, але лише на деякий час, перш ніж вона повернеться назад.

Будь-яка порада взагалі цінується.

Щоб відповісти на більше запитань, так, моя машина, безумовно, має кінські сили. Вражає те, що той самий проект із НІЧОМ не зміненим може завантажуватися дуже швидко іноді, як правило, після ремонту IIS Express та видалення My Docs\IISExpressпапки. Зрештою "щось" трапляється, і завантажувати знову потрібно до 2 хвилин. Над чим я працюю, це не складний проект. Ніяких зовнішніх бібліотек або залежностей, і мій VS.NET не має жодних доповнень.

Слід зазначити, що ця машина має Symantec Endpoint Protection, яка має історію виникнення хаосу. Але відключення його прямо (добре бути адміністратором) не усунуло проблеми.

У мене є теорія на даний момент. Я думаю, що це все, тому що я працюю з перенаправленою папкою над загальною мережею. Поки налагоджувач проходив через свої сотні «завантажених символів» ліній, я зробив паузу, щоб побачити, що це робить. Це було в моєму коді, завантажуючи в мене DisplayTemplate. Увійшовши в шаблон, виведіть це:

Step into: Stepping over non-user code 'System.Threading.WaitHandle.InternalWaitOne'
Step into: Stepping over non-user code 'System.Threading.WaitHandle.WaitOne'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCapture'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch'
Step into: Stepping over non-user code 'System.Web.Compilation.AssemblyBuilder.Compile'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.bciuyg14.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.CompileWebFile'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultInternal'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.Find'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.Html.TemplateHelpers.ActionCacheViewItem.Execute'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.kwj3uqan.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.RuntimeType.CreateInstanceSlow'
Step into: Stepping over non-user code 'System.Web.Mvc.DependencyResolver.DefaultDependencyResolver.GetService'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerViewEngine.DefaultViewPageActivator.Create'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerCompiledView.Render'

Схоже, Visual Studio перекомпілює мій шаблон дисплея кожного разу, коли він викликається, що повторюється в сотні разів. Моя теорія полягає в тому, що Visual Studio компілює файл, зберігає його на мережевій частці, мережева частка потім якось штампує новий час на ньому, а Visual Studio потім вважає, що файл змінився і, таким чином, Visual Studio ще раз перекомпілює його. Тільки теорія, хоча; У мене справді немає поняття.

Для одного, мабуть, у мене немає автономних файлів (це настільний комп’ютер в офісі; мені не можна було менше турбуватися). Я відключу, перезавантажую і повторюю завтра.

Плюс переміщення мого проекту, як і до місцевого C: виправляє його. Завантажується дуже швидко. Але це не ідеально в робочих умовах. Я втрачаю попередні версії, мій код взагалі не створюється резервна копія, якщо я не скопіюю його вручну, і він більше ні з ким не ділиться.

Я можу зробити те, щоб скопіювати його назад і назад з C на мережеву частку, якщо вона дійшла до неї. Набагато прикро більше чекати дві хвилини для кожного завантаження сторінки.


У мене багато запитань: а що з машиною, на якій ви працюєте? Чи вистачає в ньому кінських сил для того, що ви намагаєтеся зробити? Чи є у вас плагіни сторонніх розробників? Який у вас антивірус?
Fickle Panther

1
Оновлено моє запитання з додатковою інформацією.
Ber'Zophus

Видалення офлайн-файлів здавалося лише виправленням. Це деякий час працювало чудово, потім проблема повернулася. Але у мене є ще одна можлива відповідь. Оновлення мого рішення.
Ber'Zophus

До другого антивірусного питання, у мене виникли основні проблеми із запуском ThreatFire. Тимчасове вимкнення його пришвидшило налагоджувач назад для мене щонайменше в сотні разів. Відключення мого основного AV (Avast!) Лише трохи допомогло.
Джон Кумбс

@JohnSaunders Ви спробували запустити його в режимі адміністратора ?: stackoverflow.com/questions/36322440/…
Роберт Ошлер

Відповіді:


650

Ось як я вирішив проблему "повільного завантаження символів" у Visual Studio 2012:

  • Перейдіть до Інструменти -> Параметри -> Налагодження -> Загальне

  • ПЕРЕВІРИТИ прапорець біля пункту "Увімкнути лише мій код".

  • Перейдіть до Інструменти -> Опції -> Налагодження -> Символи

  • Натисніть кнопку "..." і створіть / виберіть нову папку десь на локальному комп'ютері, щоб зберігати кешовані символи. Я назвав шахту "Кешування символів" і помістив її в Документи -> Visual Studio 2012.

  • Клацніть на "Завантажити всі символи" і чекайте, коли символи будуть завантажені з серверів Microsoft, що може зайняти деякий час. Зауважте, що кнопка Завантажити всі символи доступна лише під час налагодження.

  • Зніміть прапорці біля пункту "Сервери символів Microsoft", щоб запобігти віддаленому запиту серверів Microsoft на Visual Studio.

  • Натисніть "ОК".

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

Зауважте, що якщо ви зробите якісь зміни / завантаження в збори Microsoft, можливо, вам доведеться повернутися в діалогове вікно «Символи» і знову «Завантажити всі символи».


31
Боюсь жодної корекції для мене. Це було б гарним рішенням для тих, хто обертається навколо проблем із символами Microsoft. На жаль, для мене проблема, здається, обертається навколо моїх власних символів. Ці символи вже кешуються локально, і чомусь зібрано сотні плиток лише за один завантаження сторінки.
Ber'Zophus

8
спасибі за цю пораду, одна проблема, з якою у мене тут є кнопка "завантажити всі символи", для мене будь-які ідеї відключені?
Кріс МакГрат

14
@ChrisMcGrath спробуйте це посилання social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/… . Btw дякую за чудову відповідь
Bobby Tables

16
навіть після виконання ваших кроків кнопка "Завантажити всі символи" прихована, і я не можу натиснути її. Що мені робити зараз? Я використовую VS Express 2012.
Himanshu Aggarwal

86
Ось рішення для тих, у кого кнопка Завантажити всі символи вимкнено: Кнопка доступна лише під час налагодження.
Gwynnbleid1

114

Вимкнення intelliTrace зафіксувало це для мене.

У Visual Studio, Інструменти -> Опції -> IntelliTrace

Потім зніміть прапорець біля пункту "Увімкнути IntelliTrace".

Вимкнути IntelliTrace у Visual Studio 2012


2
У мене була ця проблема під час перегляду одного з моїх тестових одиниць. Минуло близько 300 секунд із увімкненою інтелітрицею та близько 14 секунд, коли її було вимкнено. Це виправлення справді спрацювало для мене.
Пол Буллівант

2
Поліпшив мій запуск з 25 секунд до 6. Я думаю, що це дуже допомогло, тому що я працював багато власного коду при запуску програми
Джеймс Елліс-Джонс

2
Прокляття ... Від 1 хв до 10 секунд. Він вибраний за замовчуванням у VS2012 Ultimate. Слідкуйте за хлопцями
Кевін Клоет

7
Неможливо знайти Intellitrace в меню Інструменти => Параметри. .. У мене vsComunity 2015
shireef khatab

8
У Visual Studio 2015 Intellitrace існує лише у VS 2015 Enterprise Edition.
HK1

78

Нічого з цього не працювало для мене, але я знайшов точку перелому на видаленому символі. Здається, 2010 рік висів на ньому. Щоб побачити, чи це проблема, виконайте налагодження-> windows-> точки прориву. Якщо такі є, просто видаліть їх.

Сондерс, згаданий, він перевіряв, але це не було зазначено в рішеннях цієї проблеми. Може бути, загальні знання для деяких, але не для всіх нас.


5
Я почав цю проблему в VS2010 несподівано, і саме вона була однією з моїх точок перелому. Як тільки я очистив свої точки прориву, знову стало швидко.
Давид Айрапетян

3
Нічого .. VS2012 повзав, 5 хв лише для створення простого проекту. Очистив усі точки прориву і знову швидко світлішає, дякую !!
QFDev

1
Прочитавши це та дотримуючись сказаного, я знайшов точку перелому, яка якось помістилась у XML-код одного з моїх файлів сутності edmx. Ви да чоловік / жінка.
JB06

Дякую тонну. Це вирішило мою проблему з дуже повільною роботою VS2010.
Вайбхав Патл

2
Це також спрацювало з проблемою повільної налагодження, яку я мав у Visual Studio 2015.
purplecat

41

Я видалив папку "Тимчасові файли ASP.NET", і завантаження моєї сторінки localhost різко покращилося. Ось шлях ...% temp% \ Тимчасові файли ASP.NET \


9
C: \ Користувачі \ {USER_NAME} \ AppData \ Local \ Temp - це шлях, а папка "AppData" - це прихована папка
Shiva Naru

2
Тут я знайшов 1 Гб старого лайна .... видаліть все і VS працює трохи краще. :)
RitchieD

29

Ви ввімкнули FusionLog?

Мій VisualStudio дуже повільно запускався, відкривав рішення та завантажував символи при запуску налагодження. Це було повільно лише на моїй машині, але не на інших машинах.

FusionLog записує на диск тонни журналів. Просто відключення його на RegEdit вирішило все, на мій випадок.

Це ключ FusionLog у реєстрі:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

Перевірте значення ForceLog (1 увімкнено, 0 відключено).


1
Гмммм ... дуже приємна відповідь. Я був на одному човні. Я теж FusionLogдавно ввімкнув і забув її відключити. Тепер налагодження ASP.NET MVCпрограми набагато швидше. Дякую Богу і @rkawano. :)
Леніел Маккаферрі

29

Я зіткнувся з тією ж проблемою і спробував більшість резолюцій вище. Просто видалення кеш-файлів і тимчасових файлів у мене працює.

Спробуйте видалити вміст цих двох папок:

C:\Users\\{UserName}\AppData\Local\Microsoft\WebsiteCache

і

C:\Users\\{UserName}\AppData\Local\Temp (зокрема папки файлів iisexpress та тимчасових файлів ASP.NET).

Це може бути налаштовано автоматично на вході в Windows, додавши в C:\Users\\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupпапку cmd файл із таким вмістом:

rmdir C:\Users\\{username}\AppData\Local\Microsoft\WebsiteCache /s /q

rmdir C:\Users\\{username}\AppData\Local\Temp /s /q

Це спрацювало. Папка "AppData" - це прихована папка, про всяк випадок хтось не може її знайти.
Шива Нару

3
Це один! Це працює настільки добре, що тепер я це автоматично відбуваюсь під час входу в Windows: я додав файл, який називається DeleteVisualStudioCache.cmd, до C: \ Users \ {ім'я користувача} \ AppData \ Roaming \ Microsoft \ Windows \ Меню "Пуск" \ Програми \ Запуск із наступними командами: rmdir C: \ Users \ {ім'я користувача} \ AppData \ Local \ Microsoft \ WebsiteCache / s / q rmdir C: \ Користувачі \ {ім'я користувача} \ AppData \ Local \ Temp / s / q пауза
Graham Laight

25

Я думаю, що я, нарешті, можу принаймні дізнатися причину, хоча не причину. Коли проблема знову почала виникати, я помітив безліч сиріт «conhost.exe». Я закрив би Visual Studio, і вони залишаться відкритими. Закінчення завдання на кожному з них нарешті надійно вирішило проблему. [сподіваюсь]

(Відзначимо, conhost.exe не є процесом Visual Studio, хоча Visual Studio використовує його. Таким чином, інші користувачі там можуть мати інші додатки, які працюють із conhost.exe. Я знаю, що моя машина не робить, тому я можу безпечно закінчити завдання всі вони, крім YMMV.)

А чому це відбувається? Здається, це відбувається, коли я відкриваю більше одного проекту одночасно, що я, як правило, часто роблю, хоча я лише будую і налагоджую один з них у будь-який час.


Редагувати №1 - На жаль, це не "срібна куля". Це не завжди працює для мене. Зазвичай, коли справи стають повільними, я просто закриваю всі мої сесії Visual Studio, потім заходжу в диспетчер завдань і закінчую будь-який його примірник, conhost.exe, iisexpress.exe Microsoft.VisualStudio.Web.Host.exe і MSBuild.exe Я можу знайти.

Зазвичай після цього, коли я перезапускаю проект, він завантажується швидко. Але не завжди.

Дійсно, я думаю, що найкращий спосіб дії - це, мабуть, не будувати та відладжувати код від перенаправленої папки / загальної мережі.


Редагувати №2 - Через два роки, і це все ще проблема для мене у Visual Studio Community 2013, але я, здається, принаймні знайшов винуватця завдання: Explorer.exe . Так, хто знав. Щойно я закінчую це завдання, бам, завантажується сторінка за одну секунду.

Якщо у мене відкритий браузер файлів провідника Windows на моєму перенаправленому мережевому накопичувачі (що часто відбувається з мого коду), ця проблема, здається, виникає. Закриття вікна недостатньо, я маю вбити все завдання Explorer.exe. Я міг лише здогадуватися, що це робить ... гайки з файловими ручками?

Зазвичай я можу використовувати диспетчер завдань, щоб запустити нове завдання explorer.exe (я можу взяти стільки alt-tabbing), і Visual Studio буде продовжувати завантажувати приємно і швидко. Але якщо я знову так відкриваю Провідник Windows, він майже завжди повертається до супер-повільного руху.

Отже, якщо у вас є перенаправлена ​​мережа, поділіться нею. Це впевнено перемагає роботу на місцях.


Я знаю, що це трохи стара новина, але у мене була ця сама проблема. Моя команда запропонувала використовувати сценарій складання, який копіював файли з мого локального джерела, куди вони запускалися, і кожен раз, коли я сам запускав цю підпрограму, це створило б conhost.exe і не закривало його. Як тільки я закінчив усі зайві копії цього, він знову блискавично забіг.
SomeoneRandom


19

Для мене це був IE 9.08.8112.16241. Як тільки я застосував Firefox або Chrome, не було повільної налагодження за допомогою F10 або F11. Я не знаю, у чому полягає проблема з IE, але я офіційно зневажаю його зараз для тестування.

Оновлення: я вимкнув усі додатки програми IE і повернувся на повну швидкість. Повернення їх по черзі виявило, що LastPass (в моєму випадку) був винуватцем. Я здогадуюсь, що я не винен MS зрештою.


2
Це і вирішило мою проблему. Я отримував повне блокування системи під час спроби налагодження, особливо під час використання вікна QuickWatch. Панель інструментів LastPass потрібно вимкнути. (IE 10.0.9200.16635)
mpeterson

1
І саме тому я люблю StackOverflow. Але LastPass має це виправити - я надсилаю їм електронний лист зараз, щоб повідомити їх. Очевидно, це все ще проблема з VS2013 та IE 11. Вимкнено LastPass та повернення до нормального. Завдяки UserBlueOne за інформацію - можна знову працювати.
Шон

1
БЕЗПЕЧНИЙ ОСТАННІЙ! Моя клавіатура була повністю набита під час налагодження у VS 2012 за допомогою мого додатка MVC. Відключив LastPass і все полетіло знову. ДЯКУЮ! Отримано.
Тоні

У Win8.x з IE, якщо ви використовуєте обліковий запис MS для входу, ви можете його синхронізувати логіни, тому не потрібно використовувати LastPass, але все-таки мати (частково) переваги, :)
Петро,

Це… працювало на мене. Зверніть увагу, що зараз 2019 --- шість років пізніше ---, і я використовую плагін LastPass разом із Microsoft Edge.
Люк Маурер

15

Для мене я реалізував цю пораду, яка в основному значно покращила продуктивність, додавши наступні два атрибути до тегу компіляції в web.config

<compilation ... batch="false" optimizeCompilations="true"> ... </compilation>

Що робить batch = "false"?

Це робить попередню компіляцію більш вибірковою, компілюючи лише ті сторінки, які змінилися та потребують повторної компіляції

Що саме робить оптимізація компіляцій? Джерело

ASP.NET використовує хеш-код на додаток, який включає стан кількох речей, включаючи бін та папку App_Code, і global.asax. Щоразу, коли запускається домен додатка ASP.NET, він перевіряє, чи змінився цей хеш-код від того, який він раніше розраховував. Якщо він є, тоді вся папка кодена (де живуть складені та тіньові копіювані збірки) викреслюється.

Коли цю оптимізацію ввімкнено (через optimizeCompilations = "true"), хеш більше не враховує бін, App_Code та global.asax. Як результат, якщо ці зміни ми не видаляємо папку кодегену.

Довідка: Елемент компіляції у msdn


2
Дякую за публікацію Це фактично зробило більше для покращення моєї роботи, ніж прийнята відповідь.
Канаполіс

@ Ber'Zophus, ви можете спробувати це і поділитися з нами своїми результатами?
Кораєм

компіляція йде всередині system.web
The One

1
Підтверджено, що працює для великих рішень та веб-додатків (MVC).
hQuse

12

У мене виникли проблеми з виконанням при налагодженні, і я спробував дуже багато варіантів налагодження. У моєму випадку величезні показники досягнуті, коли я змінюю ці параметри:

Інструменти - Параметри - Налагодження - Вікно виводу - (Загальні параметри виводу - Всі виводи налагодження) - ВИКЛ


12

У моєму випадку це .NET Reflector Visual Studio Extension (версія 8.3.0.93) з VS 2012. Налагодження займало 10 секунд за кожен крок понад (F10).

У Visual Studio перейдіть до Інструменти / розширення та оновлення ... та вимкніть розширення Visual Studio .NET Reflector Visual Studio . Не забудьте перезапустити Visual Studio.


Я з’ясував важкий шлях, що це спричиняло і мою проблему. Лише після відключення розширення я подивився, чи хтось ще помітив це.
awj

11

У мене були проблеми з повільною налагодженням Visual Studio, коли ввімкнено налагоджувач "Native Code" . Спробуйте відключити його.

На "Visual Studio 2012" перейдіть до:

  1. Властивості проекту ->
  2. Веб ->
  3. Налагоджувачі (внизу сторінки). ->
  4. Вимкнути всіх, крім ASP.NET

Сподіваюся, це допомагає.

Подібні запитання: 1 , 2


На моєму вже встановлено це, на жаль, тому для мене жодного виправлення. Але може бути корисною порадою для інших спробувати.
Ber'Zophus

Це зафіксувало це для мене!
Харві

11

У моєму випадку це було

Tools/Options/Debugging/General/Enable JavaScript debugging for ASP.NET (Chrome and IE)

Як тільки я не зняв це, початок налагодження пішов від 45-60 секунд до 0-5 секунд.


Цей найшвидший
Франк Мьят Чт

10

Одного разу, після відключення електроенергії, мені доводилося стикатися з однією і тією ж проблемою повільності щоразу, коли вдарявся точок зламу або кидався виняток.

У мене було неясне запам'ятовування, що файл "suo" (у тому самому каталозі, що і файл рішення "sln") може бути пошкоджений і змусити все сповільнитись.

введіть тут опис зображення

Я видалив свої "suo" файли, і все було нормально. Видалення файлів .suo нешкідливо і передбачає лише відтворити макет Windows, а також стартовий проект та кілька інших некритичних налаштувань.


Я щойно зрозумів, що я потрапив проти повільного після відключення електроенергії, дуже дякую за цю відповідь.
Нік

шукайте .vsпапку в пізніших версіях Visual Studio. Видаліть це.
CAD заблокував

10

Я також стикався з цим питанням, нижче наведені кроки, які я виконую, і він працює для мене завжди:

  • Видалення .suo-файлу рішення.
  • Видалення тимчасових файлів ASP.NET (Ви можете знайти їх за посиланням % WINDOW% \ Microsoft.NET \ Framework \\ Тимчасові файли ASP.NET )
  • Видалення всіх точок перелому в програмі.

Перезапуск змусив його в 5 разів більше, ніж нормально, а не на 10 разів більше, ніж зазвичай. Видалення файлу .suo дозволило зробити його майже миттєвим. Дякую!
Shelby115

Схоже, видалення файлу .suo спрацювало. Будь-яка причина видалення цих файлів сприяє підвищенню продуктивності.
SharpCoder

@SharpCoder .suo містить багато інформації, наприклад, які файли в даний час відкриті в IDE, інформація про відладчик, локальні налаштування тощо. І коли ці файли пошкодяться, почніть використовувати більше використання процесора, що призводить до того, що VS повільно і навіть зависає деякі випадки.
Geeky Ninja

9

Я не знаю, чи все ще виникає ця проблема, але я налагоджую сайти у Visual Studio, приєднуючи налагоджувач до самого процесу, а не дозволяючи VS робити це для мене, і я виявив, що це значно покращило час. Я використовую розширення для VS під назвою AttachTo, і у мене є невелика стаття про те, як я тут його використовую .

Я сподіваюся, що це допомагає.


7

Мою повільну проблему з VS було вирішено, відключивши Посилання браузера

введіть тут опис зображення


Я знаю, що "Спасибі" коментарі тут трохи нахмурені, але серйозно, ДЯКУЙТЕ ТАКЕ МНОГО. Ця одна зміна спричинила тестування програми, яку я тестую, від повільної до такої, що не може бути застосована по суті до моментальної реактивності. Ви, напевно, купували мені приблизно годину-дві на день продуктивності лише за те, що не потрібно чекати, коли завантажуватимуться речі
thnkwthprtls

@thnkwthprtls ласкаво просимо - одне з тих параметрів MS за замовчуванням, на які потрібно стежити :)
Солоне

Не потрібно його відключати, дивіться мою відповідь => stackoverflow.com/a/34979659/2736742
А. Морель

6

Якщо хтось помітить, що така поведінка виходить із лівого поля, перевірте, чи не встановлено точки прориву в web.config. Я, мабуть, встановив його з бродячим клацанням миші, і це дійсно сповільнило всі операції з налагодження.


Просто я мав це саме те саме. Майже зводив мене з розуму. Чому на Землі неактивна точка розриву у файлі web.config повністю порушує налагодження?
pleunv

6

Провівши цілий день в очікуванні, щоб символи завантажувались так само повільно, як швидкість черепахи, змішуючи та перемикаючись між усіма можливими комбінаціями: Просто мій код, символи кешування , Intellitrace , Just-In-Time, процеси вбивства тощо.

Моє рішення насправді було відключити антивірус . Так, Windows Defender сповільнював запуск мого проекту! Він перевірив би всі місця, як просила їх Visual Studio, і уповільнив весь процес завантаження символів.

Я мушу сказати, що наші машини мають чудові технічні характеристики, щоб скласти рішення дуже швидко, так що це ніколи не було проблемою. Ми кодуємо в VS 2013 Ultimate.


1
Так, вимкнення захисника Windows працює як шарм! Щоб остаточно відключити Windows Defender в Windows 10, встановіть Start = "4" (4 для інвалідів) в RegEdit шляху HKLM \ System \ CurrentContolSet \ Services \ WinDefend
Hal

Проблема з антивірусом AVG. Хто-небудь працював, чи не можна певну папку виключити з антивірусу, щоб вирішити проблему? Я кешував символи та виключав папку кешу символів - але це не мало значення.
Грем Лайт

1
ви можете зберегти AV та виключити з аналізу певний шлях та цілі (VS та ваші проекти)
Soleil - Mathieu Prévot

5

Випорожнення кешу символів працювало на мене.

Див.: Панель меню / Інструменти / Параметри / Налагодження / Символи / Порожній кеш символів


3

Подібна проблема витрачала кращу половину мого дня!

Оскільки рішення моєї проблеми було відмінним від сказаного тут, я збираюся його опублікувати, щоб це могло допомогти комусь іншому.

Моя була точкою перелому. У мене була точка розриву "Перерва у функції" (тобто замість натискання клавіші F9 на рядку коду, ми створюємо їх за допомогою вікна точок перелому), який повинен зупинитися у функції бібліотеки поза моїм проектом.

І у мене було "Використовувати Intellisense для перевірки назви функції " ПРОВЕРЕНО. (Інформація тут .)

Це сповільнилося проти пекла (запуск проекту від 2 секунд до 5 хвилин).

Видалення точки зламу вирішило це назавжди.


3

Одне, що працювало для мене після виконання всього вищезазначеного, було:
у вікні «Нитки» («Налагодження» - «Windows»> «Нитки») встановіть «Група» на «Нічого». Це можна зробити лише під час налагодження.

Це мало вплив навіть після закриття цього вікна.


3

У Visual Studio:

Інструменти -> Опції -> Налагодження -> Символи

Виберіть "Тільки вказані модулі". Клацніть посилання "Вказати модулі" та додайте порожній модуль (натисніть нову кнопку документа та натисніть кнопку ОК).


3

Відкрийте папку рішення у Windows Explorer, закрийте візуальну студію, видаліть .suo-файл із Windows Explorer.

Тепер відкрийте проект у візуальній студії, сподіваємось, налагоджувач швидко приєднається / від'єднається.


3

Для мене це були умовні точки прориву. Вони, здається, справді сповільнюють справи.


1
Дійсно, вони так і роблять. Але лише в тому випадку, якщо рядки, що їх містять, справді виконані.
Пітер Мортенсен

3

Перейдіть до змінних вашого середовища та шукайте ключ _NT_SYMBOL_PATH.

Видаліть його.

Вуала, працював як шарм.


value == symsrv*symsrv.dll*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbolsвсе ще немає кісток!
SliverNinja - MSFT

3

Проблемою для мене була функція "Посилання браузера", яка дуже важка, коли у вас є відкриті кілька вкладок для одного проекту!

Оскільки кожен раз, коли ми запускали проект, він відкриває нову вкладку із зв’язком зв’язку браузера.

Просто закрийте всі вкладки, пов'язані з проектом, і тримайте лише одну відкриту!

Ця безкоштовна миттєва візуальна студія! Це магія! ;-)

"Посилання браузера - це функція з Visual Studio 2013, яка створює канал зв'язку між середовищем розробки та одним або декількома веб-браузерами. Ви можете використовувати посилання Browser для оновлення веб-програми в декількох браузерах одночасно, що корисно для тестування між веб-переглядачами. "


3

Швидке та просте рішення для тих, хто не має великих відхилень від налаштувань VS за замовчуванням.

Інструменти -> Налаштування імпорту та експорту -> Так, збережіть мої поточні налаштування -> Visual C #

Я впевнений, що вищевказане рішення також буде працювати з іншими налаштуваннями за замовчуванням. У моєму випадку щось зіпсувалося з налаштуваннями завантаження символів, але я не зміг його виправити, хоча я спробував досить багато запропонованих рішень.


3

Переконайтеся, що ви не відкрили Visual Studio в режимі адміністратора

Я зіткнувся з цим питанням і довелося працювати в звичайному режимі.


6
На жаль, працювати в якості адміністратора потрібно, якщо у вас встановлені проекти для запуску в IIS.
Нельсон Ротермель

@NelsonRothermel Яка версія? Більше не (VS2017).
Soleil - Матьє Превот

@Soleil: У VS2017 це все-таки потрібно. IIS працює як служба Windows (або набір служб), а не в просторі користувача. Ви можете посилатися на IIS Express, який не потребує прав адміністратора. Як правило, я рекомендую вам використовувати останнє, особливо в організації, що блокує машини, але вона має кілька недоліків.
Нельсон Ротермель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.