Visual Studio 2013で作成されたASP.NET Webアプリケーションがあります。CSHTMLファイルのJavaScriptをデバッグしようとしています。ただし、Webページを起動するたびに、ブレークポイントが赤い円の矢印に変わり、「ブレークポイントは現在ヒットしません。この行にはデバッガーのターゲットコードタイプの実行可能コードは関連付けられていません。考えられる原因は次のとおりです。コンパイラの最適化、またはこの行のターゲットアーキテクチャは、現在のデバッガコードタイプではサポートされていません。」
最近、プロジェクトはMVCとRAZRをサポートするように切り替えられましたが、どちらも私はよく知っていません。まさにこの問題が始まったときです。ただし、それらを検索しても、私の問題を解決できない結果が得られました。
Web.config:
<compilation debug="true"...>
Firebugまたは他のブラウザツールでJavaScriptをデバッグできることは知っていますが、私は慣れているVisual Studioのデバッグに固執します。
したがって、明らかにこれは「既知の問題」であり、できるだけ早く修正される予定です。 「一部の」人々に有効な一時的な回避策は、Javascriptが別のファイルにあることを確認することです。
これは、RAZRとJavascriptが同じファイルにあり、Visual Studio 2013がそのインスタンスでデバッグを処理できないために発生します。
特定の問題が何であるかはわかりませんが、デバッグブレークポイントを常に強制的に実行する場合は、debugger;
を停止したい行に追加すると、停止します。これは、JSの場所(.jsファイル、.html、cshtmlなど)に関係ありません
これについてのブログ記事は次のとおりです。
http://sumitmaitra.wordpress.com/2013/12/11/quickbytes-visual-studio-2013-and-javascript-debugging/
また、JSは.jsファイル(.jsファイルにブレークポイントを追加する際に問題が発生したことはありません)に入れる必要があることに同意しますが、迅速なプロトタイピングのために、これは使用できるソリューションです。
それでもうまくいかない場合は、いつでもF12ツールを使用できます
Visual StudioからJavaScriptファイルをデバッグできる唯一のブラウザはInternet Explorerです。 (これは、さまざまなブラウザーでアプリケーションをテストした後にわかったことです)
もう1つ確認してください。 App_Start | BundleConfig.cs(MVC 4または3に付属)がある場合、BundleTable.EnableOptimizationsをfalseに設定します(または、私がしたように、#if!DEBUG #endifでラップしてデフォルト設定を使用します) 。
JavaScriptを別のファイルに入れて、IEでデバッグします。そうしないと機能しません。
何らかの理由でchromeではJavaScriptにアクセスできません。
Chromeを使用してからIEを使用してFirefoxでFirebugアドオンを使用することになり、JSでブレークポイントをデバッグおよび設定できました。問題なく(Visual Studio 2015のMVC6アプリで、これが明らかに問題になっているようです!)...
参考までに、F12開発者ツールを使用してChromeでJSをデバッグしようとすると、デバッガーが別のプロセスに既に接続されているため、オプションではないことがわかりました...
2017年にここに来る人のために、私はこの同じ問題を抱えていたとVS2017 Enterprise RC、そしてVS 2015 Communityと- Internet Explorer以外のブラウザ。 IEを使用すると、私にとってはうまくいきました。
また、VS2017では、aを追加する必要がありましたdebugger
VSがデバッグポイントを見始めるためのステートメント。
最後に、投票した人々から少なくともコメントをお願いしたいと思います。