Visual Studio 2017中的Javascript断点

ron*_*ldm 37 javascript visual-studio visual-studio-2017

我刚刚安装了Visual Studio 2017.启动ASP.NET MVC应用程序后,我收到一条消息,即启用了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>
}
Run Code Online (Sandbox Code Playgroud)

我没有打开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中无法正常工作吗?

我只有一个扩展名,那就是Resharper,但我想这不是问题.

Nin*_*rry 28

此功能不适用于*.cshtml文件中的javascript代码,但仅适用于单独的*.js(或*.ts)文件中的代码.

在此输入图像描述 注意JavaScript文件中的断点是如何激活的,而Razor视图中的断点则不是.

我还注意到,当页面在当前Chrome会话中第一次加载页面时,在页面加载期间执行JavaScript代码时,JavaScript文件不会出现断点.断点仅在文档加载一次后才起作用.

  • 通过以管理员身份运行Visual Studio来实现它. (6认同)
  • 为了使它在cshtml中工作:在js代码中设置**调试器;**它可以工作 (4认同)

Lw *_*Cui 25

另一个提示:只有在运行/调试时设置'start URL'后才能启用js debug.

只有这样VS才会附加到浏览器进程.

  • 在我读完这个答案之前,我已经尝试过一切都没有成功.实际上,我的项目设置为"不要打开页面.等待来自外部应用程序的请求." 这对我有用.这家伙值得一杯啤酒.非常感谢!+1 (2认同)
  • @CSCoder:右键单击项目 - >属性 - >选择左侧的"Web"选项卡 - >"开始操作"菜单 - >"开始URL"单选按钮 (2认同)

Lui*_*rra 13

我遇到过同样的问题.我按照同一篇文章中的说明操作: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)"设置.保存更改,然后运行网页.

在此之后,我注意到Chrome在加载页面之前没有显示"调试网页".然后我关闭了我的网页并停止了调试会话.

我重新启用了"为ASP.NET启用Javascript调试(Chrome和IE)"选项,然后使用IE运行网页,它运行正常.页面停止了,断点出现在我的视觉工作室中.


s1c*_*t3r 9

我遇到了同样的问题,对.net核心不熟悉,一个对我有用的解决方案是添加调试器; 在脚本的顶部:

<script>
  debugger;

  -- rest of your jscript here
</script>
Run Code Online (Sandbox Code Playgroud)

  • 我没有发现这有用,因为这似乎只是暂停执行"调试器"行而不让我调查VS中的变量.这里有什么暗示我失踪了吗? (4认同)

小智 5

只有启用选项“启用 ASP.NET(Chrome 和 IE)的 Javascript 调试”并设置调试器,它才能在 vs 2017 中工作;在 *.cshtml 和 *.js 文件中的 js 代码中