我刚安装了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>
}
我没有打开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,但我想这不是问题。
答案 0 :(得分:24)
此功能不适用于* .cshtml文件中的javascript代码,但仅适用于单独的* .js(或* .ts)文件中的代码。
注意JavaScript文件中的断点是如何激活的,而Razor视图中的断点不是。
我还注意到,当页面在当前Chrome会话中第一次加载时,在页面加载期间执行JavaScript代码时,JavaScript文件不会被点击。断点仅在文档加载一次后才起作用。
答案 1 :(得分:22)
另一个提示:只有在运行/调试时设置'start URL'后才能启用js debug。
只有这样,VS才会附加到浏览器进程。
答案 2 :(得分:12)
我有同样的问题。我按照同一篇文章中的说明操作: https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
我在Visual Studio中执行了以下操作:转到Tools
- &gt; Options
- &gt; Debugging
- &gt; General
并关闭了“为ASP.NET启用JavaScript调试(Chrome和IE)”设置。保存更改,然后运行网页。
在此之后,我注意到Chrome在加载页面之前没有显示“调试网页”。然后我关闭了我的网页并停止了调试会话。
我重新启用了“为ASP.NET启用Javascript调试(Chrome和IE)”选项,然后使用IE运行网页,它运行正常。页面停止了,断点出现在我的视觉工作室中。
答案 3 :(得分:9)
我有同样的问题,对.net核心来说是新的,一个对我有用的解决方案是添加调试器;在脚本的顶部:
<script>
debugger;
-- rest of your jscript here
</script>
答案 4 :(得分:3)
仅在启用选项的情况下,它在vs 2017中有效 “为ASP.NET(Chrome和IE)启用Javascript调试”并设置调试器;在* .cshtml中的js代码以及* .js文件
答案 5 :(得分:1)
想到唯一可行的方法是使用安装程序对Visual Studio 2017进行修复后,我意识到BundleTable.EnableOptimizations = true;
中有Bundle.config
。我删除了这一行,并将其添加到Web.Debug.config
转换中,它按预期开始工作。
答案 6 :(得分:0)
您可以尝试两种选择:
Solution Explorer -> Internet Explorer -> <your view name>
中添加断点。 (假设您使用的是IE)答案 7 :(得分:0)
我最好的猜测(至少在我的情况下,也可能在你的情况下)是它与捆绑有关。我正在处理的项目现在将单独的脚本捆绑到一个Big Daddy脚本中(不会缩小调试配置)所以我的预感是VS不会将我的断点映射到在浏览器中运行的最终脚本。
我知道这不会回答这个问题,因为它只是一种预感,但我希望它能指出我们正确的方向。也许如果我们能够根据他人的经验验证这一点,那么这可能会演变成一个真正的答案。
答案 8 :(得分:0)
对于那些使用Google Chrome便携式(或在浏览器调试列表中手动添加chrome的用户)有帮助的
您需要手动然后中提琴将其附加到适当的Chrome实例上
答案 9 :(得分:0)
我必须在以下位置启用旧版Chrome JavaScript调试器:
选项->工具->调试->常规->为ASP.NET启用旧版Chrome JavaScript调试器
答案 10 :(得分:0)
工作了多个小时后,我右键单击IIS Express并退出,终于找到了所有的中断点。
我在脚本文件和断点中包含调试器,并且当我执行“清理解决方案”>“调试”后,我的断点开始再次出现。
我了解这是多么令人沮丧,我只是让stackoverflow社区知道对我有用的东西。
答案 11 :(得分:0)
我也遇到同样的情况,没有遇到Java断点,然后我卸载并重新安装了Visual Studio 2017,它又开始工作了