Visual Studio 2017をインストールしました。ASP.NETMVCアプリケーションを起動した後、Visual Studioでchromeデバッグが有効になっているというメッセージが表示されます。
しかし、Visual Studioでのブレークポイントはヒットしません。 Razorコードのブレークポイントは機能しているようですが、Javascriptは機能していません。ブレークポイントは、本来のように完全に赤ではありません。再起動、再構築は効果がないようです。
私は次のコード例を持っています
@Html.Partial("_Test", Model.Test) // debugging works here
<script>
var i = 1;
console.log(i); // debugging does not work here or above
</script>
@section scripts {
<script>
var a = 11;
console.log(a); // debugging does not work here or above
</script>
}
chromeデバッグコンソールを開いていないので、Visual Studioのオプション(「Javascriptデバッグを有効にする」)をオンにします。
このブログ投稿によると、これは機能するはずだと思いました: https://blogs.msdn.Microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in -google-chrome /
ここに何かが足りませんか? Visual Studio 2017でこれが何らかの形で機能していない可能性がありますか?
拡張機能は1つしかなく、Resharperですが、これは問題ではないと思います。
別のヒント:js debugは、実行/デバッグで「開始URL」を設定した後にのみ有効にできます。
この方法でのみ、VSはブラウザプロセスにアタッチします。
同じ問題がありました。同じ投稿の指示に従いました: https://blogs.msdn.Microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google -chrome /
Visual Studioで次のことを行いました:Tools
-> Options
-> Debugging
-> General
に移動し、「ASP.NETのJavaScriptデバッグを有効にする( ChromeとIE)」。変更を保存してから、Webページを実行します。
この後、ページをロードする前にChromeが「デバッグWebページ」を表示していないことに気付きました。次に、Webページを閉じて、デバッグセッションを停止しました。
「ASP.NETのJavascriptデバッグを有効にする(ChromeおよびIE)」オプションを再度有効にした後、IEを使用してWebページを実行すると動作しました。ページが停止し、ブレークポイントがビジュアルスタジオに表示されました。
私は同じ問題を抱えていました。スクリプトの上部:
<script>
debugger;
-- rest of your jscript here
</script>
「ASP.NETのJavascriptデバッグを有効にする(ChromeおよびIE)」オプションを有効にし、デバッガーを設定した場合のみ、2017年と比較して機能します。 * .cshtmlおよび* .jsファイルのjsコードで
これを機能させるための唯一の方法はインストーラーを使用してVisual Studio 2017で修復を行うことだと考えた後、BundleTable.EnableOptimizations = true;
にBundle.config
があることに気付きました。この行を削除してWeb.Debug.config
変換に追加すると、期待どおりに機能し始めました。
以下の場合、レガシーChrome JavaScriptデバッガーを有効にする必要がありました。
オプション->ツール->デバッグ->全般->レガシーChrome JavaScriptデバッガーをASP.NET用に有効化
あなたが試すことができる2つのオプション:
Solution Explorer -> Internet Explorer -> <your view name>
にブレークポイントを追加します。 (IEを使用していると仮定)Google Chrome Portableを使用している(またはブラウザのデバッグリストにchromeを手動で追加した)場合、これが役立ちます。
次に、適切なchromeインスタンスに手動でアタッチする必要があります
ここでの最良の推測は(少なくとも私の場合は、場合によってはあなたの場合も)、バンドルに関係しているということです。私が現在取り組んでいるプロジェクトは、個別のスクリプトを1つのBig Daddyスクリプトにバンドルしています(デバッグ構成で縮小することなく)ので、VSはブラウザで実行される究極のスクリプトにブレークポイントをマップしません。
これは単なるごまかしなので質問に答えないことはわかっていますが、正しい方向に向けられることを望んでいます。他の人の経験に対してこれを検証できれば、本当の答えになるかもしれません。