我正在尝试在Visual Studio 2017社区版中进行javascript调试,以获取内嵌在.cshtml文件中的javascript。但我似乎无法找到任何方法让它发挥作用。
我的简单测试是针对完整框架的asp.net核心Web项目。
/Controllers/HomeController.cs
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
/views/Home/Index.cshtml
<html>
<head>
<script type="text/javascript">
function doWork() {
var num = 1;
alert('Hello. Number is ' + num)
}
</script>
</head>
<body>
<h1>JS Debugging test</h1>
<button type="button" onclick="doWork()">Do Work</button>
</body>
</html>
我在javascript警告线上设置了一个断点,如下所示:
我正在使用VS2017及其在Windows 10上的默认设置,因此VS配置为在运行Web应用程序时启动Microsoft Edge。然后我点击F5
运行带有调试的解决方案。它运行正常但断点更改为显示它不会被命中并显示以下消息:
我已经确认Web项目属性已经定义了调试常量检查并定义了跟踪常量检查,以及优化未选中的代码。我非常认真地解释为什么我不能在剃刀页面上调试脚本标签中包含的javascript。
我在这个上面用疯狂的Google搜索无济于事,我开始认为VS 2017不支持剃刀页面上的js调试脚本。我最近发现其他人在这里说了很多关于VS2012的内容:The breakpoint will not currently be hit. No symbols have been loaded但我希望VS2017支持这种调试方案。
那么,我如何让VS 2017支持调试放在.cshtml文件中的脚本标记中的javascript,或者这是不可能的?