Javascript 断点在 Visual Studio 2019 asp.net 应用程序中不起作用

Javascript breakpoint not work in Visual Studio 2019 asp.net application

我最近从 VS 2017 升级到 VS 2019。

在 VS 2017 中,当 运行 本地 asp.net 应用程序时,使用 Chrome,我可以在 javascript 代码中放置一个断点,调试器将停止在断点。这在 Visual Studio 2019 年不再适用。

我需要做什么才能使用 Chrome 在 Visual Studio 2019 中启用 javascript 调试?我希望能够在 javascript 文件中放置断点并让它们命中。

这是我的设置。

  1. 我已启用 Javascript 调试。

  2. 我在我的 Javscript 代码中放置了一个断点。此断点位于 *.js 文件中(不在 Razor 视图中)。

  1. 断点被忽略。 Visual Studio 非常有礼貌地向我显示了一个工具提示,告诉我断点将被忽略。

它应该在 VS2019+ 中工作Chrome。(我刚刚在几台机器上检查过)

这不是一个可以直接解决的问题,因为很多因素都可能导致此行为,您可以按照以下建议检查是否有帮助:

1.Update 你的 VS2019 到最新的 16.3.7,更新你的 chrome 浏览器到最新的 78.0.3904.87

2.Delete 项目目录中的 bin 和 obj 文件夹 => 然后关闭并重新启动 VS => 打开该项目并进行干净重建

3.Make确保您处于调试项目模式,右键单击您的 Web 项目=>设置为启动项目

此外,有时我们需要等待几秒钟才能成功启动调试会话。(我曾经遇到过相同的弹出窗口,然后几秒钟后它消失了,一切正常)

希望对您有所帮助:)

除了在 Visual Studio 中启用 JavaScript 调试外,请确保关闭缩小。 (Turn off bundling/minification while debugging in WebForms)

如果您的页面包含 Razor 语法,断点将不起作用。

而是将 debugger; 语句作为断点添加到脚本中。

此外,debugger 声明在今年早些时候未能奏效。它只在顶层工作,意味着在页面完全呈现之前。如果我将 debugger 语句放入 $(document).ready()

中,它将不起作用

所以我现在的工作是将我的 javascript 放在一个单独的 .js 文件中,没有任何 Razor 语法。

旧的 console.log 对我有用,因为上面的答案根本没有任何建议。无论如何,这就是VS的挫败感,这没什么新鲜的。

如果您的 Javascript 在 Razor 文件中,它将不起作用。

我已经为此苦苦挣扎了很长时间,并且与 console.log 相处得很好。 但是刚才我将 js 移动到一个外部文件中并且它有效。

我在带有 Razor 页面的 .Net 5 项目中使用最新的 VS 16.11.5 和 Chrome。