如何让VS2017支持调试放置在.cshtml文件中脚本标记中的javascript(可能吗)?

如何让VS2017支持调试放置在.cshtml文件中脚本标记中的javascript(可能吗)?,javascript,visual-studio,asp.net-core,visual-studio-2017,visual-studio-debugging,Javascript,Visual Studio,Asp.net Core,Visual Studio 2017,Visual Studio Debugging,我正在尝试让javascript调试在Visual Studio 2017 Community Edition for javascript中工作,该javascript内嵌在.cshtml文件中。但我似乎找不到任何方法让它工作 我的简单测试是一个asp.net核心web项目,目标是完整的框架 /控制器/HomeController.cs public class HomeController : Controller { public IActionResult Index()

我正在尝试让javascript调试在Visual Studio 2017 Community Edition for javascript中工作,该javascript内嵌在.cshtml文件中。但我似乎找不到任何方法让它工作

我的简单测试是一个asp.net核心web项目,目标是完整的框架

/控制器/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>

函数doWork(){
var-num=1;
警报('Hello.Number为'+num)
}
JS调试测试
工作
我在javascript警报行上设置了一个断点,如下所示:

我在Windows 10上使用VS2017及其默认设置,因此VS被配置为在运行web应用程序时启动Microsoft Edge。然后我点击
F5
运行解决方案并进行调试。它运行正常,但断点会更改以显示不会命中它,并显示以下消息:

我已经确认web项目属性已选中define debug常量和define trace常量,以及未选中优化代码。我非常困惑,为什么我不能调试razor页面上脚本标记中包含的javascript

我在谷歌上疯狂地搜索了这篇文章,但毫无结果,我开始认为VS2017不支持在razor页面上对脚本进行js调试。我最近在这里发现其他人也在谈论VS2012:但我希望VS2017支持这种调试场景


那么,我如何让VS2017支持调试放置在.cshtml文件中脚本标记中的javascript,或者这是不可能的

你可能需要小心,这几乎可以被看作是伪装的咆哮。这就是说,JavaScript是一个客户端进程,这意味着调试支持将根据连接到哪个客户端(读:浏览器)而有所不同。我熟悉发布模式与调试模式,并且使用的是屏幕截图中所示的调试模式。你确定使用VS2017调试.cshtml文件中的内联javascript而不是.js文件中的javascript吗?谢谢你,我会更新这个问题,让它的标题不那么刺耳。问题不是我使用默认配置if VS so启动IE进行客户端调试。此外,您可能需要手动连接到浏览器,因为.cshtml文件在技术上不是客户端文件;客户端文件是从.cshtml动态生成的。应用程序运行时,客户端版本将位于解决方案资源管理器的“脚本文档”下。你能在那个文档中设置你的断点吗?确认我得到了和你一样的行为。那太差劲了。