私は知恵があります。 Visual Studioは、ASP.NET MVCサイトの 通常 デバッグが非常に遅い、または単なるロード( "デバッグなしで開始")です。常にではありません。最初は、プロジェクトはNiceとfastをロードしますが、ロードが遅くなると、その後は常にロードが遅くなります。 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つのDisplayTemplatesがあります。 displaytemplateが呼び出されるたびにIISがシンボルを2回ロードしているようです。したがって、これら3つのディスプレイテンプレートすべてを呼び出す100エントリのテーブルを表示している場合、600個の別々のシンボルが読み込まれます。
これも速い操作ではありません。 IISが生成するログファイルを調べると、各シンボルがロードされるまでに約200ミリ秒かかります。したがって、超長遅延。
私が試した内容:
My Docs\IISExpress
フォルダーを削除した場合、あるいはVisual Studioを修復または再インストールした場合→問題は解決する場合がありますが、それが戻ってくるまでのしばらくの間だけです。すべてのアドバイスは大歓迎です。
より多くの質問に答えるために、はい私の機械は間違いなく馬力を持っています。不愉快なことに、NOTHINGが変更された同じプロジェクトが、通常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が私のdisplaytemplate 毎回呼び出されるたびに、何百回も再コンパイルしているようです。私の理論では、Visual Studioはファイルをコンパイルし、それをネットワーク共有に保存しそして、Visual Studioはファイルが変更されたと考え、Visual Studioはそれをもう一度再コンパイルします。
1つには、どうやら私はオフラインファイルをオンにしている(これはオフィスのデスクトップコンピュータだ。あまり気にすることはできなかった)。明日、無効にして再起動して再試行します。
さらに、私のプロジェクトを現状のままローカルのC:に移動して修正します。とても早くロードされます。しかし、これは職場環境では理想的ではありません。私は以前のバージョンを失い、私が手動でコピーしない限り私のコードは全くバックアップされず、そしてそれはもはや誰とも共有されない。
それがなるならば、私はCからネットワーク共有へ前後にそれをコピーすることによってすることができます。ページが読み込まれるたびに2分待つのは面倒です。
これが、Visual Studio 2012の "slow symbol loading"問題を解決した方法です。
「ツール」 - >「オプション」 - >「デバッグ」 - >「一般」の順に選択します。
[自分のコードだけを有効にする]の横のチェックマークをオンにします。
[ツール] - > [オプション] - > [デバッグ] - > [シンボル]の順に選択します。
[...]ボタンをクリックして、ローカルコンピュータのどこかにキャッシュされたシンボルを保存するための新しいフォルダを作成/選択します。私は私のことを「シンボルキャッシング」と名付け、Documents - > Visual Studio 2012に入れました。
[すべてのシンボルを読み込む]をクリックして、Microsoftのサーバーからシンボルがダウンロードされるのを待ちます。 [すべてのシンボルをロード]ボタンはデバッグ中にのみ使用可能です。
Visual StudioがMicrosoftサーバーをリモートで照会できないようにするには、[Microsoft Symbol Servers]の横のチェックマークをオフにします。
「OK」をクリックしてください。
これからは、シンボルの読み込みはもっと速くなるでしょう。
Microsoftアセンブリに変更やダウンロードを行った場合は、[シンボル]ダイアログボックスに戻って[すべてのシンボルを読み込む]をもう一度実行する必要があります。
IntelliTraceをオフにすると、これが解決しました。
Visual Studioでは、[ツール] - > [オプション] - > [IntelliTrace]
次に、[IntelliTraceを有効にする]のチェックボックスをオフにします。
これのどれも私のために働きませんでした、しかし、私は削除されたシンボルにブレークポイントを見つけました。 2010年はそれに掛かっていたようです。これがあなたの問題であるかどうかを確認するには、debug-> windows-> breakpointsを実行してください。
Saundersは、彼がそれをチェックしたと述べたが、それはこの問題の解決策には述べられていませんでした。おそらく一部の人にとっては共通の知識ですが、私たち全員のことではありません。
"Temporary ASP.NET Files"フォルダを削除し、localhostページの読み込みが劇的に改善されました。これがパスです...%temp%\ Temporary ASP.NET Files \
FusionLogを有効にしましたか?
私のVisualStudioは起動が遅く、解を開いてデバッグを開始するときにシンボルをロードしました。私のマシンでは遅く、他のマシンでは遅くなりませんでした。
FusionLogは大量のログをディスクに書き込みます。私の場合は、RegEditで無効にするだけですべてが解決した。
これはレジストリのFusionLogキーです。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
ForceLog値(1が有効、0が無効)を確認してください。
その理由はわからないが、私はついに少なくともその原因を知ることができると思う。問題が再び発生し始めたとき、私は孤立する "conhost.exe"プロセスのトンに気づきました。 Visual Studioを閉じても開いたままになります。それぞれのタスクを終了することで、ようやく確実に問題が解決しました。 [うまくいけば]
(ちなみに、conhost.exeは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 。ええ、その人は知っていました。私がそのタスクを終えた瞬間、bam、ページは1秒でロードされます。
Windowsエクスプローラのファイルブラウザをリダイレクトされたネットワークドライブに開いていると(これが原因でコードが存在することがよくあります)、この問題が発生するようです。ウィンドウを閉じるだけでは十分ではなく、Explorer.exeのタスク全体を強制終了する必要があります。私はそれが何をしているのかを推測することしかできませんでした…ファイルハンドルを使いこなすのですか?
私はたいていタスクマネージャを使って新しいExplorer.exeタスクを開始することができ(私はそれほど多くの代替タブを使うことができない)、そしてVisual StudioはNiceとquickをロードし続けるでしょう。しかし、私がもう一度Windowsエクスプローラを開くと、それはほとんどいつも超低速MOに戻ります。
だから、あなたがリダイレクトされたネットワーク共有を持っているならば、それに打撃を与える。それは確かに地元で働いています。
私は同じ問題を経験し、上記の解決策のほとんどを試してみました。単にキャッシュファイルと一時ファイルを削除するだけで、うまくいきます。
これら2つのフォルダの内容を削除してみてください。
C:\Users\\{UserName}\AppData\Local\Microsoft\WebsiteCache
そして
C:\Users\\{UserName}\AppData\Local\Temp
(特にiisexpressおよびTemporary ASP.NET Filesフォルダ)。
これは、次の内容でcmdファイルをC:\Users\\{username}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
フォルダーに追加することによって、Windowsへのログオン時に自動的に発生するように設定できます。
rmdir C:\Users\\{username}\AppData\Local\Microsoft\WebsiteCache /s /q
rmdir C:\Users\\{username}\AppData\Local\Temp /s /q
上記のすべてが良い解決策であり、私はそれらのすべてを試してみましたが、解決策を得た ここ
Debug -> Delete All Breakpoints
私にとってはIE 9.08.8112.16241でした。 FirefoxまたはChromeを使用した直後は、F10またはF11を使用したデバッグの遅れはありませんでした。 IEの問題が何なのかわかりませんが、今は正式にテストのために使用しています。
更新:すべてのIEプログラムアドオンを無効にしましたが、フルスピードに戻りました。一度に1つずつ電源を入れると、LastPass(私の場合)が原因であることがわかりました。結局のところ、私はMSのせいにはならないと思います。
私にとっては、 このヒント を実装しました。これは、web.configのcompilationタグに次の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のコンパイル要素
私も実行パフォーマンスがデバッグでトラブルを抱えていた、そして私はデバッガの非常に多くのオプションを試した。私の場合、このオプションを変更すると、非常に優れたパフォーマンスが達成されます。
[ツール] - [オプション] - [デバッグ] - [出力ウィンドウ] - (一般出力設定 - 全デバッグ出力) - オフ
私の場合は、VS 2012の.NET Reflector Visual Studioエクステンション(バージョン8.3.0.93)でした。 ステップオーバー (F10)ごとにデバッグに10秒かかりました。
Visual Studioで、 Tools/Extensions and Updates ... に移動し、 .NET Reflector Visual Studio Extension を無効にします。忘れずにVisual Studioを再起動してください。
私の場合は
Tools/Options/Debugging/General/Enable JavaScript debugging for ASP.NET (Chrome and IE)
これをオフにすると、デバッグの開始は45〜60秒から0〜5秒になりました。
ある時、停電の後、私はブレークポイントに達するか例外が投げられるたびに同じスローネス問題に直面しなければなりませんでした。
"suo"ファイル( "sln"ソリューションファイルと同じディレクトリにある)が破損していて、すべてが遅くなる可能性があることを覚えていました。
私は自分の "suo"ファイルを削除しましたが、すべて問題ありませんでした。 .suoファイルの削除は無害であり、私のwindowsレイアウトに加えて開始プロジェクトと他のいくつかの重要ではないカスタマイズを再作成することを意味するだけです。
私はこの問題にも直面していました、以下は私が実行するステップです、そしてそれは私のためにいつも働きます:
それでも問題が解決しないかどうかはわかりませんが、Visual Studioでプロセスを実行するのではなく、デバッガをプロセス自体にアタッチすることによってサイトをデバッグしています。私はVSのためにAttachToと呼ばれる拡張を使います、そして私はそれをどう使うかに関する小さな記事を持っています ここ 。
これが役に立つことを願っています。
私の遅いVSの問題は ブラウザリンクを無効にすることで解決しました
シンボルの読み込みがタートルスピードと同じくらい遅くなるのを1日中待った後、可能なすべての組み合わせを組み合わせて切り替えます: Just My Code、Caching symbols 、 Intellitrace 、Just-In -Time、 killing processes など.
私の解決策は、実際にアンチウイルスを無効にすることです。ええ、Windows Defenderは私のプロジェクトの立ち上げを遅らせていました! Visual Studioが要求してすべてのdllをチェックし、シンボルロードプロセス全体を遅くしました。
私たちのマシンには、ソリューションを非常に高速にコンパイルするための優れた仕様があると言わざるを得ないので、それは決して問題ではありませんでした。 VS 2013 Ultimateでコーディングしています。
この動作が左側のフィールドから出てくることに気付いた場合は、web.configにブレークポイントが設定されていないことを確認してください。私は迷惑なマウスクリックでそれを設定しなければなりませんでした、そしてそれは本当にすべてのデバッグ操作を遅くしました。
シンボルキャッシュを空にすることは私のために働きました。
参照項目:メニューバー/ツール/オプション/デバッグ/記号/空の記号キャッシュ
管理者モードでVisual Studioを開いていないことを確認してください
私はこの問題に直面し、通常モードで実行しなければなりませんでした。
環境変数に行き、_NT_SYMBOL_PATHキーを探します。
消して。
ほら、魅力のように働いた。
上記すべてを実行した後に私にとってうまくいったことの1つは、次のとおりです。
Threadsウィンドウ(Debug-> Windows-> Threads)で、Group byをNoneに設定します。これはデバッグ中にのみ実行できます。
これは、そのウィンドウを閉じた後でも影響がありました。
同様の問題が私の一日の半分を無駄にしました!
私の問題に対する解決策はここで述べたものとは異なるので、私はそれを投稿するつもりです。そうすれば他の人に役立つかもしれません。
私のものがブレークポイントでした。プロジェクト外のライブラリ関数で停止するはずの "Break at function" breakpoint(コード行でF9キーを押す代わりにそれらを作成する)を使用しました。
そして、私は "Intellisenseを使って関数名を検証する "をチェックしました。 (情報 ここ )
これは地獄のように遅くなりました(2秒から5分へのプロジェクト開始)。
ブレークポイントを削除することでそれを解決しました。
私にとっては条件付きブレークポイントでした。それらは本当に物事を遅くするようです。
私にとっての問題は、同じプロジェクトに対して複数のタブを開いているときに非常に重い "ブラウザリンク"機能でした。
プロジェクトを立ち上げるたびに、ブラウザリンク通信を含む新しいタブが開くので。
プロジェクトに関連するすべてのタブを閉じて、開いたままにしてください。
この無料の瞬間ビジュアルスタジオ!魔法です ! ;-)
「ブラウザリンクは、開発環境と1つ以上のWebブラウザ間の通信チャネルを作成する、Visual Studio 2013以降の機能です。ブラウザリンクを使用して、一度に複数のブラウザでWebアプリケーションを更新することができます。これは、ブラウザ間のテストに役立ちます。」
デフォルトのVS設定からそれほど逸脱していない人のための迅速で簡単な解決策。
ツール - >設定のインポートとエクスポート - >はい、現在の設定を保存します - >ビジュアルC#
私は上記の解決策が他のデフォルト設定でもうまくいくと確信しています。私の場合、何かが私のシンボルローディング設定でめちゃくちゃになりました、しかし私が提案された解決策のかなりの数を試みたとしても私はそれを修正することができませんでした。
私の場合、インターネット接続を無効にするとctrl-f5と同じくらい高速に動作することに気づいたので、debug-> options-> symbolsに移動して、すべての.pdbの場所をオフにしました。
VSがデバッグセッションが開始されるたびにこれらのサーバーに接続しようとしていたようです。
[デバッグ]-> [オプション]-> [デバッグ]-> [一般] [ソースサポートを有効にする]または[ソースファイルを元のバージョンと完全に一致させる必要がある]を無効にすることに注意してくださいwould n't.
あなたの "マイドキュメント" フォルダはネットワーク共有にマップされていますか?
解決策がネットワーク共有ではなくローカルである場合でも、IIS Expressの起動に秒単位の代わりに 分 秒かかることがあります。 regedit.exeで、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders\Personal
が%USERPROFILE%\My Documents
を指していることを確認します。
そうでない場合は、それを変更するか、ネットワーク管理者にポリシーの例外を設定するよう依頼してください。
Windowsエクスプローラでソリューションフォルダを開き、ビジュアルスタジオを閉じて、Windowsエクスプローラから.suoファイルを削除します。
今すぐVisual Studioでプロジェクトを開くと、うまくいけばデバッガは素早くアタッチ/デタッチされます。
Visual Studioの場合:
「ツール」 - >「オプション」 - >「デバッグ」 - >「シンボル」
「指定されたモジュールのみ」を選択してください。 「モジュールの指定」リンクをクリックして、空のモジュールを追加します(新しい文書ボタンをクリックして「OK」をクリックします)。
部分的なビューでは、ページ上にすぐに認識されないエラーがあるという複雑な問題もあります。 Model.ThisValueではなくModel.SomeValueと同じです。下線が引かれず、デバッグに問題が生じる可能性があります。これはキャッチするのが本当の痛みかもしれません。
オプション 1 : IIS expressに移動し、キャッシュとサイトをクリアします
cd "C:\Program Files (x86)\IIS Express\"
appcmd.exe list site /xml | appcmd delete site /in
Del /S /F /Q %temp%
を実行して、Userprofile Tempフォルダをクリアします。Del /S /F /Q %Windir%\Temp
また、 clear %temp%
内の一時ファイルとログアウト、または再起動
これにより、Windowsの一時フォルダがクリアされます。これですべてのサイトが削除されます。お楽しみください。
オプション2: 以下のように一時フォルダーを削除/再作成します
rmdir C:\Users\\{username}\AppData\Local\Microsoft\WebsiteCache /s /q
rmdir C:\Users\\{username}\AppData\Local\Temp /s /q
これですべてのサイトが削除されます。お楽しみください。
Asp.netのコアデバッグは、未知のVS拡張子がデフォルトのJust in Timeデバッガに取って代わったため、非常に遅くなりました。
そのようなメッセージはOPTIONS\DEBUGGING\Just-In-Time設定タブで(警告テキストとして)見つかりました。 他のデバッガが自身をJust-In-Timeデバッガとして登録しました。修復するには、Just-In-Timeデバッグを有効にするか、Visual Studioの修復を実行します。
説明: https://msdn.Microsoft.com/ja-jp/library/ssc8234s.aspx?f=255&MSPPError=-2147217396
デフォルトのJITデバッガ(チェックされていないManagedオプションをチェックしただけ)に戻すと、私の問題はすべて解決します。
私はついにこの問題をローカルのIIS設定に加えることでこの問題を解決しました(あるいは少なくとも大幅に改善しました)。
私が遅いデバッグの問題を解決しようとして頭がおかしくなり始めていたので、これが誰かに役立つことを願っています
開発中にローカルホストに再コンパイルするたびに数分かかりました。それはひどくイライラしました。 SSDにすべてを含めるなど、無数の修正を試みた後。私は本当にうまくいったものを見つけました。私はRAMディスクを作成し、その中にプロジェクト全体を入れました。ローカルホストへの再コンパイルは現在10秒以内です。おそらくエレガントではないが、それは本当にうまくいった。
これは誰かを助けるかもしれない、私は同じ問題を抱えていたし、私はドライブeとSDカードを持っていたことがわかった:私のSDカードを取り外した後問題は解決した
私の場合、
リモートデバッグが実行され、ほとんどのリソースが消費されることに気付きました。私は本当にアプリを64ビットにする必要はありませんでしたので、32ビットにすることを強制した後、リモートデバッグは実行されず、実行は速くなりました。
デフォルトの言語としてC#を使用して、新しい仕事でVisual Studioをセットアップしました。私がVBでプログラミングする運命にあったことは、まだ私にはわかりませんでした。
VBはうまく動くようだったので、C#のデフォルトを忘れていました。しかし、コードをステップ実行するのはばかげた時間がかかりました。いくつかの修正を試みた後、私は必死にVBにデフォルトの言語を変更しました...ビンゴ!
これまでに降りてきた場合は、ぜひ試してみる価値があります。
私にとっては、管理互換モードでデバッグしていました。下部にある[ツール] - > [オプション] - > [デバッグ] - > [一般]の順にクリックし、[Use Managed Compatibility Mode]のチェックを外します。デバッグは瞬時に行われ、1行をステップ実行するのに最大1分かかることがありました。私はそれが上記のOPのスニペットで '管理されている'という意味なのかと思います。
これについての詳細はここ: https://blogs.msdn.Microsoft.com/visualstudioalm/2013/10/16/switching-to-managed-compatibility-mode-in-visual-studio-2013/ /
私の解決策は単純に私の設定の保存されたGOOD(バックアップ)コピーをリロードすることでした(1年前に作られた)。すべてを空白にリセットする前に試す価値があります。私のVS2010はデバッグを開始するのに約60秒かかります。デバッグを停止するために3分。私は、壊れた設定を保存しましたが、驚いたことに、それらは260 KBではなく3 MBを超えていました。私は良いバックアップコピーをロードしました、そしてすべてがまた素晴らしいです:-)
私の場合、問題は外部実行中のexeファイルでした - すなわち:
WUDFCompanionHost.exe
名義で
"Windows Driver Foundation - User-mode Driver Companion Framework Host Process".
プロセスは、CPUの安定した10%を占めています。それを殺すことは直接助けて、そしてページがロードした秒を待たずに。
さらにもう1つの原因は、ファイルシステム上に存在するがVisual Studioから削除または部分的に削除された古いプロジェクトのプリコンパイルです。
ビルド後にロードするのに3.5分かかるソリューションがありました。一時ASP.NETファイルのタイムスタンプを見て、3分遅れが古いプロジェクトのファイルにあることがわかりました。 VSを見ると、プロジェクトは「利用不可」でした。 VSからそれを削除し、ファイルシステムから削除し、そして今、私たちは甘い8秒に落ちています。
私はVS 2013でこの問題を抱えていました。数カ月間私のテストはうまくデバッグされていました、しかし突然恐ろしいLoading symbolsメッセージが現れていました、そして私は私がそれを引き起こすためにしたことを知りませんでした。
ここや他のインターネットページで示唆されたものは何も私を助けませんでした。私は全部で少なくとも10回試しました。 .suoファイルを削除しても問題は解決しませんでしたが、同じ場所に.testsettingsの2つのファイルと.vsmdiの1つがありました。 _ 拡張子。これらのファイルは時代遅れで、おそらくVS 2010からの遺物であるように見えました。それらを作成したチームメンバーは久しぶりです。
問題なくこれら3つのファイルをすべて削除できることがわかりました。 Loading symbolsメッセージを止めるには、.testsettingsファイルの特定の1つを削除するだけで十分であることがわかりました。私の悪夢は終わった。
私にとって問題はAvast Antivirus
でした。私はそれをアンインストールし、代わりにWindows Defenderを使って走らせた、そしてすべてがうまく動く。私の解決策では、WinFormsまたはWPFのどちらかのWindowsアプリケーションを実行しているときに、私はこの問題を抱えていました。何らかの理由でWebアプリケーションが遅くなることはありませんでした。
C:¥Users¥username¥AppData¥Local¥Temp¥からすべて削除してから、もう一度試してください。
私の問題は、デバッグを開始するたびにプロジェクトがビルドされていたことにあります。このスレッドの他のすべての解決策はわずかに役に立ちましたが、それでもプロジェクトの構築が完了するまで待たなければならなくなりました。
Solution Explorer
- > に右クリックYour Solution File
- > / Properties
をクリック左側のProperty Pages
- > でConfiguration
- > を選択し、Build
のチェックを外します。
OK
をクリック
ビジュアルスタジオを Administrator として開いていることを確認します。
Debug
- > Attach to Process
に移動します。Show processes from all users
- > w3wp.exe
- > と呼ばれるプロセスを検索して選択Attach
- >警告が表示されたらAttach
をクリックLocalhostでデバッグしたいページに移動できます。ファイルにブレークポイントが設定されている場合は、プロジェクトのビルドを待たずにすぐにデバッグを開始できます。