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プロジェクトで発生する可能性があり、すべてのASP.NET MVCプロジェクトが行うDisplayTemplatesを中心に展開しているようです。そしてそれが重要であれば、それはすべてC#とRazorです。

症状:

システムは私のシンボルを数百回ロードします。基本的には次のようになりますが、そのような行は少なくとも300行あり、各行には同じCSHTMLに対して少しずつ異なるDLLファイルが含まれています。

'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.

上記では、「Contact」、「Location」、および「StatusCode」の3つのDisplayTemplateを取得しています。IISは、displaytemplateが呼び出されるたびにシンボルを2回ロードしているようです。したがって、これら3つの表示テンプレートすべてを呼び出す100エントリのテーブルを表示している場合、600の個別のシンボルが読み込まれます。

これも高速な操作ではありません。IISが生成するログファイルを見ると、各シンボルの読み込みに約200ミリ秒かかります。したがって、超長い遅延。

私が試したこと:

  • デバッグまたはリリースバージョン、それは重要ではありません。
  • プロジェクトをWebサーバー上の完全なIIS実装に配置すると、問題なく超高速で実行されます。
  • Cassini、IIS Express 7.5、およびIIS Express 8.0にはすべて問題があります。
  • [すべてのブレークポイントを削除]は何もしません。
  • Clean Solution、または.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が再び再コンパイルするというものです。ただし、理論だけです。本当に手がかりはありません。

1つには、オフラインファイルを持っているようです(これはオフィスのデスクトップコンピューターです。あまり気になりませんでした)。無効にして再起動し、明日再試行します。

さらに、私のプロジェクトをそのままローカルCに移動すると、修正されます。非常に速く読み込まれます。しかし、これは作業環境では理想的ではありません。以前のバージョンを失うと、自分のコードを手動でコピーしない限り、コードはまったくバックアップされず、誰とも共有されなくなります。

それに関しては、Cからネットワーク共有に前後にコピーすることで対処できます。ページの読み込みごとに2分間待つのははるかに煩わしいです。


私はたくさんの質問があります:それを実行しているマシンはどうですか?あなたがやろうとしていることに対して十分な馬力がありますか?サードパーティのプラグインはありますか?どのようなウイルス対策がありますか?
Fickle Panther、

1
詳細情報で私の質問を更新しました。
Ber'Zophus 2012

オフラインファイルを削除するだけで問題が解決したようです。しばらくはうまくいきましたが、問題が再発しました。しかし、私には別の可能な答えがあります。ソリューションを更新しています。
Ber'Zophus 2012

ウイルス対策の質問の2番目に、ThreatFireの実行に関して大きな問題がありました。一時的にオフにすると、デバッガが少なくとも数百倍高速に戻ります。メインAV(Avast!)をオフにしても、少しは役に立ちました。
Jon Coombs 2013

@JohnSaundersあなたは管理者モードでそれを実行している?:しようとしましたstackoverflow.com/questions/36322440/...
ロバートOschler

回答:


650

これは、Visual Studio 2012の「シンボルの読み込みが遅い」問題を解決する方法です。

  • [ツール]-> [オプション]-> [デバッグ]-> [全般]に移動します

  • 「コードのみを有効にする」の横にあるチェックマークをオンにします。

  • [ツール]-> [オプション]-> [デバッグ]-> [シンボル]に移動します

  • 「...」ボタンをクリックし、ローカルコンピュータのどこかに新しいフォルダを作成/選択して、キャッシュされたシンボルを保存します。私は「シンボルキャッシング」という名前を付けて、[ドキュメント]-> [Visual Studio 2012]に配置しました。

  • [すべてのシンボルを読み込む]をクリックして、Microsoftのサーバーからシンボルがダウンロードされるまで待ちます。しばらく時間がかかる場合があります。[すべてのシンボルをロード]ボタンは、デバッグ中にのみ使用できることに注意してください。

  • Visual StudioがリモートでMicrosoftサーバーにクエリを実行しないようにするには、[Microsoft Symbol Servers]の横のチェックマークをオフにします。

  • 「OK」をクリックします。

これからは、シンボルの読み込みがはるかに速くなります。

Microsoftアセンブリを変更またはダウンロードした場合は、[シンボル]ダイアログボックスに戻り、[すべてのシンボルをロード]を再度実行する必要がある場合があります。


31
恐れ入りますが、修正はありません。これは、Microsoftのシンボルの問題をめぐる問題の解決策として最適です。残念ながら、私の問題は自分のシンボルに関係しているようです。これらのシンボルはすでにローカルにキャッシュされており、何らかの理由で、1回のページの読み込みで数百のタイルをコンパイルしました。
Ber'Zophus

8
このヒントのおかげで私がここで抱えている問題の1つは、すべてのシンボルの読み込みボタンが無効になっていることです。
Chris McGrath

14
@ChrisMcGrathは、このリンクを試してくださいsocial.msdn.microsoft.com/Forums/en-US/vsdebug/thread/…。素晴らしい答えに感謝します
ボビーテーブル

16
手順を実行した後でも、[すべてのシンボルを読み込む]ボタンが非表示になっていて、クリックできません。私は今どうすればいい?私はVS Express 2012を使用しています
。– Himanshu Aggarwal

86
すべてのシンボルを読み込むボタンが無効になっている場合の解決策を次に示します。ボタンはデバッグ中のみ使用できます。
Gwynnbleid1 2013年

114

intelliTraceをオフにすると、これが修正されました。

Visual Studioでは、ツール->オプション-> IntelliTrace

次に、[IntelliTraceを有効にする]チェックボックスをオフにします。

Visual Studio 2012でIntelliTraceを無効にする


2
単体テストのいずれかを実行するときにこの問題が発生しました。インテリトレースをオンにすると約300秒、オフにすると約14秒かかりました。この修正は本当にうまくいきました。
Paul Bullivant 2014

2
起動を25秒から6秒に改善しました。アプリケーションの起動時に独自のコードをたくさん実行していたので、非常に役に立ったと思います
James Ellis-Jones 14

2
くそったれ…1分から10秒まで。VS2012 Ultimateではデフォルトで選択されています。みんなに気をつけろ
ケビン・クロエ

7
ツール=>オプションでIntellitraceが見つかりません。..私はvsComunity 2015
shireef khatab 2016

8
Visual Studio 2015では、IntellitraceはVS 2015 Enterprise Editionにのみ存在します。
HK1 2016

78

どれもうまくいきませんでしたが、削除されたシンボルにブレークポイントが見つかりました。2010年はそれに掛かっていたようです。これが問題であるかどうかを確認するには、debug-> windows-> breakpointsを実行してください。

サンダースは、彼がそれをチェックしたと述べたが、それはこの問題の解決策では述べられなかった。たぶん、一部の人には共通の知識があるかもしれませんが、すべての人に共通しているわけではありません。


5
私は突然VS2010でこの問題を抱え始めましたが、実際、それを引き起こしているのは私のブレークポイントの1つでした。ブレークポイントをクリアするとすぐに、再び速くなりました。
David Airapetyan 2013年

3
Wow..VS2012は、単純なプロジェクトを構築するためだけに5分間クロールしていました。すべてのブレークポイントをクリアし、再び速くなりました、ありがとう!!
QFDev 2013

1
これを読んで、あなたの言ったことをたどると、ブレークポイントが見つかりました。これは、なんらかのedmxエンティティファイルのXMLコードに配置されています。あなたは男/女だ。
JB06 2014年

トンありがとう。これにより、VS2010のパフォーマンスが非常に遅いという問題が解決しました。
Vaibhav Patle、2015年

2
これは、私は、Visual Studio 2015年に持っていた低速のデバッグの問題のために働いていた
purplecat

41

「Temporary ASP.NET Files」フォルダーを削除すると、localhostページの読み込みが劇的に改善されました。これがパスです...%temp%\ Temporary ASP.NET Files \


9
C:\ Users \ {USER_NAME} \ AppData \ Local \ Tempはパスであり、「AppData」フォルダーは隠しフォルダーです
Shiva Naru

2
私はここに1GBの古いがらくたを見つけました...それをすべて削除すると、VSは少し良く実行されます :)
RitchieD 2016

29

FusionLogを有効にしていますか?

VisualStudioの起動が非常に遅く、ソリューションを開き、デバッグを開始するときにシンボルをロードしました。それは私のマシンでのみ遅く、他のマシンでは遅くありませんでした。

FusionLogは、大量のログをディスクに書き込みます。RegEditでそれを無効にするだけで、私の場合、すべてが解決されました。

これはレジストリのFusionLogキーです:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

ForceLog値をチェックします(1有効、0無効)。


1
うーん...とてもいい答えです。私は同じ船に乗っていました。またFusionLog、ずっと前に有効にしていて、無効にするのを忘れていました。ASP.NET MVCアプリのデバッグがはるかに速くなりました。神と@rkawanoに感謝します。:)
Leniel Maccaferri 2014

29

同じ問題が発生し、上記の解決策のほとんどを試しました。キャッシュファイルと一時ファイルを削除するだけでうまくいきます。

次の2つのフォルダーの内容を削除してみてください。

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

そして

C:\Users\\{UserName}\AppData\Local\Temp (特に、iisexpressおよびTemporary ASP.NET Filesフォルダー)。

これはC:\Users\\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup、次の内容のフォルダーにcmdファイルを追加することにより、Windowsへのログオン時に自動的に実行されるように設定できます。

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

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

これはうまくいきました。「AppData」フォルダは隠しフォルダです。万が一、誰かが見つけられない場合があります。
Shiva Naru

3
これが1つです。Windowsにログオンすると自動的に実行されるようにうまく機能するようになりました。DeleteVisualStudioCache.cmdというファイルをC:\ Users \ {username} \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \に追加しました。次のコマンドで起動します:rmdir C:\ Users \ {username} \ AppData \ Local \ Microsoft \ WebsiteCache / s / q rmdir C:\ Users \ {username} \ AppData \ Local \ Temp / s / q pause
Graham Laight

25

理由はわかりませんが、やっと原因がわかったと思います。問題が再び発生し始めたとき、孤立した「conhost.exe」プロセスのトンに気づきました。Visual Studioを閉じても、開いたままになります。それぞれのタスクを終了することで、問題が確実に解決されました。[うまくいけば]

(注意してください、conhost.exeはVisual Studioが使用しますが、Visual Studioプロセスではありません。したがって、他のユーザーがconhost.exeを実行する他のアプリケーションを使用している可能性があります。マシンが動作しないことを知っているので、 YMMV以外のすべてのタスクを安全に終了します。)

なぜこれが起こるのですか?一度に1つだけビルドしてデバッグする場合でも、一度に複数のプロジェクトを開くと頻繁に発生する傾向があります。


編集#1-残念ながらこれは「特効薬」ではありません。いつもうまくいくとは限りません。通常、処理が遅くなったときは、すべてのVisual Studioセッションを閉じてから、タスクマネージャーに移動し、そのインスタンス(conhost.exe、iisexpress.exe、Microsoft.VisualStudio.Web.Host.exe、MSBuild.exe)を終了します。私は見つけることができます。

通常、その後、プロジェクトを再起動すると、すばやくロードされます。しかしいつもではない。

実際には、リダイレクトされたフォルダー/ネットワーク共有からコードをビルドしてデバッグしないことがおそらく最善の策だと思います。


編集#2-2年後、これはまだ Visual Studio Community 2013で私にとって問題ですが、少なくとも原因のタスクであるExplorer.exeを見つけたようです。うん、知っていた。タスクを終了した瞬間、ページ、ページの読み込みは1秒で終わります。

リダイレクトされたネットワークドライブでWindowsエクスプローラーのファイルブラウザーを開いている場合(多くの場合、コードがそこにあるためです)、この問題が発生するようです。ウィンドウを閉じるだけでは不十分です。Explorer.exeタスク全体を強制終了する必要があります。私はそれが何をしているのかを推測することしかできませんでした...

私は通常、タスクマネージャーを使用して新しいexplorer.exeタスクを起動できます(Altキーを押したままの操作しかできません)。VisualStudioは、引き続き高速で適切に読み込まれます。しかし、Windowsエクスプローラーをもう一度開くと、ほとんどの場合、超スローモーションに戻ります。

したがって、リダイレクトされたネットワーク共有がある場合は、それを試してみてください。それは確かにローカルでの作業よりも優れています。


これは少し古いニュースですが、同じ問題がありました。私のチームは、ローカルソースからファイルが実行されている場所にファイルをコピーするビルドスクリプトを使用することを提案し、そのサブルーチンを単独で実行するたびに、conhost.exeを作成して閉じませんでした。私がそれのすべての余分なコピーを終えると、それは再び電光石火を走らせました。
SomeoneRandom 2013

22

上記はすべて良い解決策であり、私はそれらすべてを試しましたが、ここで解決策を得ました

Debug -> Delete All Breakpoints

19

私にとっては、IE 9.08.8112.16241でした。FirefoxまたはChromeを使用した直後は、F10またはF11を使用したデバッグの遅延はありませんでした。IEの何が問題なのかはわかりませんが、現在はテストに使用することを公式に軽視しています。

更新:すべてのIEプログラムアドオンをオフにしましたが、フルスピードに戻りました。それらを1つずつオンにすると、LastPass(私の場合)が原因であることがわかりました。結局、MSを責めることはないでしょうね。


2
これで私の問題も解決しました。特にQuickWatchウィンドウを使用しているときに、デバッグしようとすると完全なシステムロックアップが発生していました。LastPassツールバーを無効にする必要があります。(IE 10.0.9200.16635)
mpeterson 2013

1
そして、これがStackOverflowが大好きな理由です。しかし、LastPassはこれを修正する必要があります。今すぐメールで通知します。それは明らかにVS2013とIE 11にまだ問題があります。LastPassを無効にして通常に戻します。情報を提供してくれたUserBlueOneに感謝します-再び仕事を始めることができます。
ショーン

1
フリーケンラストパス!MVCアプリを使用してVS 2012でデバッグすると、キーボードが完全に詰まっていました。無効化されたLastPassとすべてが再び飛んだ。ありがとう!賛成。
トニー

Win8.xとIEでログインにMSアカウントを使用する場合、ログインを同期させることができるため、LastPassを使用する必要はありませんが、(部分的に)利点があります。:)
Peter

これは…私のために働きました。現在は2019年から6年後のことですが、私はMicrosoft EdgeでLastPassプラグインを使用しています。
ルーク

15

私のために、私はこのヒントを実装しました。これは基本的に、web.configのコンパイルタグに次の2つの属性を追加することでパフォーマンスを大幅に改善しました

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

batch = "false"は何をしますか?

変更され、再コンパイルが必要なページのみをコンパイルすることにより、プリコンパイルをより選択的にします

optimizeCompilationsは正確には何をしているのですか?ソース

ASP.NETは、binやApp_Codeフォルダー、global.asaxなど、さまざまな状態を含むアプリケーションごとのハッシュコードを使用します。ASP.NETアプリドメインが起動するたびに、このハッシュコードが以前に計算されたものから変更されているかどうかがチェックされます。含まれている場合は、codegenフォルダー全体(コンパイル済みおよびシャドウコピーされたアセンブリが存在する場所)が消去されます。

この最適化がオンになっている場合(optimizeCompilations = "true"を使用)、ハッシュはbin、App_Code、およびglobal.asaxを考慮しなくなります。その結果、これらの変更があった場合、codegenフォルダーは消去されません。

リファレンス:msdnのコンパイル要素


2
投稿ありがとうございます。これは実際には、受け入れられた回答よりも私のパフォーマンスを改善するために多くのことをしました。
カナポリス、2015年

@ Ber'Zophusこれを試して、結果を私たちと共有できますか?
Korayem

コンパイルはsystem.web内に入ります
The One

1
内部の大規模なソリューションとWebアプリケーション(MVC)で動作することが確認されています。
hQuse

12

デバッグに関しても実行パフォーマンスの問題があり、デバッガの非常に多くのオプションを試しました。私の場合、このオプションを変更すると大きなパフォーマンスが達成されました:

ツール-オプション-デバッグ-出力ウィンドウ-(一般的な出力設定-すべてのデバッグ出力)-オフ


12

私の場合、それはVS 2012の.NET Reflector Visual Studio Extension(バージョン8.3.0.93)でした。デバッグは、ステップオーバー(F10)ごとに10秒かかりました。

Visual Studioで、[ ツール/拡張機能と更新...]に移動し、.NET Reflector Visual Studio Extensionを無効にします。Visual Studioを再起動することを忘れないでください。


これが私の問題も引き起こしていることを私は見つけました。拡張機能を無効にして初めて、他の誰かがそれに気づいたかどうかを確認しました。
awj 2013

11

「ネイティブコード」デバッガーを有効にすると、Visual Studioのデバッグが遅くなる問題が発生しました。無効にしてみてください。

"Visual Studio 2012"にアクセスします。

  1. プロジェクトのプロパティ->
  2. ウェブ->
  3. デバッガー(ページの下部)。->
  4. ASP.NETを除くすべてを無効にする

それが役に立てば幸い。

同様の質問:12


鉱山は残念ながらすでにそのように設定されているので、私には修正はありません。しかし、他の人が試してみるには良いアドバイスになるでしょう。
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ファイルの削除は無害であり、ウィンドウレイアウトに加えて、開始プロジェクトと他のいくつかの重要でないカスタマイズを再作成することのみを意味します。


停電後もvsが遅いことに気づきました。この回答に感謝します。
Nic

.vs新しいバージョンのVisual Studioでフォルダーを探します。それを削除します。
CADが失敗

10

私もこの問題に直面していました。以下は私が実行する手順であり、常に私にとってはうまくいきます。

  • ソリューションの.suoファイルを削除します。
  • 一時ASP.NETファイルの削除%WINDOW%\ Microsoft.NET \ Framework \\ Temporary ASP.NET Filesで見つけることができます)
  • アプリケーション内のすべてのブレークポイントを削除します。

再起動すると、通常よりも10倍長くなるのではなく、通常よりも5倍長くかかりました。.suoファイルを削除すると、ほぼ瞬時に起動します。ありがとう!
Shelby115 2016年

.suoファイルの削除はうまくいったようです。何らかの理由でこのファイルを削除すると、パフォーマンスが向上します。
SharpCoder 2018年

@SharpCoder .suoには、現在IDEで開いているファイル、デバッガー情報、ローカル設定などの多くの情報が含まれています。このファイルが破損すると、VSが遅くなり、ハングするCPU使用量が増え始めます。ある場合。
Geeky Ninja

9

この問題が引き続き発生するかどうかはわかりませんが、VSに任せるのではなく、プロセス自体にデバッガーをアタッチすることでVisual Studioでサイトをデバッグします。私はAttachToと呼ばれるVSの拡張機能を使用してますが、ここでそれを使用する方法についての短い記事があります

これがお役に立てば幸いです。


7

ブラウザリンクを無効にすることで、遅いVSの問題が解決しました

ここに画像の説明を入力してください


私は「ありがとう」のコメントがここで少し眉をひそめていることを知っていますが、真剣に、本当にありがとう。この1つの変更により、私がテストしているプログラムが低速から使用不能になるまで、本質的に即時の反応性が得られました。物が読み込まれるのを待つ必要がないために、1日あたり約1〜2時間の生産性で私を買ったのではないでしょうか
thnkwthprtls

@thnkwthprtls、どういたしまして-注意が必要なMSのデフォルト設定の1つ:)
Salty

それを無効にする必要はありません、私の答えを参照してください=> stackoverflow.com/a/34979659/2736742
A. Morel

6

左側のフィールドからこの動作が発生していることに気付いた場合は、web.configにブレークポイントが設定されていないことを確認してください。私は迷ったマウスクリックで1つ設定する必要があり、すべてのデバッグ操作が本当に遅くなりました。


ちょうどこれとまったく同じものを私自身が持っていました。ほぼ私を狂わせた。一体全体、web.configファイルの非アクティブなブレークポイントがデバッグを完全に中断するのはなぜですか?
pleunv 2013

6

タートルの速度と同じくらい遅くシンボルが読み込まれるのを待って一日中過ごした後、考えられるすべての組み合わせ(Just My Code、キャッシュシンボルIntellitrace、Just-In-Time、Killing プロセスなど)を混ぜて切り替えます

私の解決策は、実際にはアンチウイルス無効にすることでした。ええ、Windows Defenderはプロジェクトの立ち上げを遅らせていました!Visual Studioが要求したすべてのDLLをチェックし、シンボルの読み込みプロセス全体を遅くしました。

私たちのマシンには、ソリューションを非常に高速にコンパイルするための優れた仕様があるので、問題にはなりませんでした。VS 2013 Ultimateでコーディングします。


1
うん、windows defenderをオフにするのは魅力のように機能します!Windows 10でWindows Defenderを永続的にオフにするには、RegEditパスHKLM \ System \ CurrentContolSet \ Services \ WinDefendでStart = "4"(4は無効)を設定します
hal

AVGアンチウイルスに問題があります。問題を解決するために特定のフォルダをウイルス対策から除外できるかどうか誰かが解決しましたか?シンボルをキャッシュし、シンボルキャッシュフォルダーを除外しましたが、違いはありませんでした。
Graham Laight 2017

1
AVを維持し、特定のパスとターゲット(VSおよびプロジェクト)を分析から除外することができます
Soleil-MathieuPrévotDec

5

シンボルキャッシュを空にすることでうまくいきました。

参照:メニューバー/ツール/オプション/デバッグ/シンボル/空のシンボルキャッシュ


3

同様の問題が私の一日の半分を無駄にしました!

私の問題の解決策はここで述べたこととは異なっていたので、他の人を助けるために投稿します。

私はブレークポイントでした。私が持っていた「ブレーク機能で、」私のプロジェクト外のライブラリ関数の中で停止になっているブレークポイントを(すなわち代わりに、コード行にF9を押す、我々はブレークポイントウィンドウを使用して作成します)。

また、「Intellisenseを使用して関数名を確認する」をチェックしました。(ここに情報があります。)

これは地獄のように遅くなりました(プロジェクトの起動が2秒から5分に)。

ブレークポイントを削除すると、問題は解決しました。


3

上記のすべてを行った後、私にとってうまくいったことの1つ
は、「スレッド」ウィンドウ(「デバッグ」->「ウィンドウ」->「スレッド」)で、「グループ化」を「なし」に設定したことです。これは、デバッグ中にのみ実行できます。

これはそのウィンドウを閉じた後でも影響を与えていました。


3

Visual Studioの場合:

ツール->オプション->デバッグ->シンボル

「指定されたモジュールのみ」を選択します。「モジュールの指定」リンクをクリックして、空のモジュールを追加します(「新規ドキュメント」ボタンをクリックして「OK」をクリックします)。


3

Windowsエクスプローラーでソリューションフォルダーを開き、Visual Studioを閉じ、Windowsエクスプローラーから.suoファイルを削除します。

ビジュアルスタジオでプロジェクトを開きます。デバッガーが高速で接続/分離されることを期待しています。


3

私にとってそれは条件付きブレークポイントでした。それらは本当に物事を遅くするようです。


1
確かにそうです。しかし、それらを含む行が実際に実行される場合のみ。
Peter Mortensen

3

環境変数に移動して、キー_NT_SYMBOL_PATHを探します。

消して。

ほら、魅力のように働いた。


value == symsrv*symsrv.dll*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbolsまだサイコロはありません!
SliverNinja-MSFT 2017年

3

私にとっての問題は、同じプロジェクトに対して複数のタブを開いていると非常に重い「ブラウザリンク」機能でした。

プロジェクトを起動するたびに、ブラウザリンク通信で新しいタブが開くからです。

プロジェクトに関連付けられているすべてのタブを閉じ、1つだけ開いたままにします。

この無料の瞬時ビジュアルスタジオ!魔法です !;-)

「ブラウザーリンクは、Visual Studio 2013以降の機能であり、開発環境と1つ以上のWebブラウザーとの間に通信チャネルを作成します。ブラウザリンクを使用して、一度に複数のブラウザでWebアプリケーションを更新できます。これは、ブラウザ間のテストに役立ちます。」


3

デフォルトのVS設定からそれほど逸脱していない人のための迅速で簡単なソリューション。

ツール->設定のインポートとエクスポート->はい、現在の設定を保存-> Visual C#

上記の解決策は他のデフォルト設定でも機能すると確信しています。私の場合、シンボルの読み込み設定で問題が発生しましたが、提案された解決策のいくつかを試しても修正できませんでした。


3

管理者モードでVisual Studioを開いていないことを確認してください

私はこの問題に直面し、通常モードで実行する必要がありました。


6
残念ながら、プロジェクトをIISで実行するように設定している場合は、管理者として実行する必要があります。
ネルソンロザーメル2015年

@NelsonRothermelどのバージョンですか?もうありません(VS2017)。
ソレイユ-MathieuPrévot2018

@Soleil:VS2017ではまだ必要です。IISは、ユーザースペースではなく、Windowsサービス(またはサービスのセット)として実行されます。管理者権限を必要としないIIS Expressを参照している可能性があります。特にマシンをロックダウンする組織では特に後者を使用することをお勧めしますが、いくつかの欠点もあります。
Nelson Rothermel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.