Visual Studio 2013无法在cshtml中调试javascript

Jun*_*ter 40 javascript asp.net-mvc visual-studio-debugging visual-studio-2013

我有一个使用Visual Studio 2013创建的ASP.NET Web应用程序.我正在尝试在CSHTML文件中调试JavaScript.但是,每当我启动网页时,任何断点都会变成一个红色圆圈箭头,并指出"断点当前不会被命中.调试器的目标代码类型的可执行代码与此行没有关联.可能的原因包括:条件编译,目前的调试器代码类型不支持编译器优化或该行的目标体系结构."

最近,该项目被转换为支持MVC和RAZR,我都不知道,这正是这个问题的开始.但是,搜索那些已经产生的结果无法解决我的问题.

Web.config文件:

<compilation debug="true"...>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用Firebug或其他一些浏览器工具调试JavaScript,但我更愿意坚持使用Visual Studio的调试,因为这是我习惯的.

Jun*_*ter 45

所以,显然这是一个"已知问题",将尽快修复.对"某些"人工作的临时工作是确保任何Javascript都在一个单独的文件中.

这是因为在同一个文件中使用RAZR和Javascript,而Visual Studio 2013无法在该实例中处理调试.

  • 如果我坚持使用"调试器"语句,在.cshtml javascript中,调试器在那时断开,然后我可以单步调试代码,甚至可以用鼠标添加额外的断点. (6认同)
  • 这是与miscrosoft提交的错误报告https://connect.microsoft.com/VisualStudio/feedback/details/807088/unable-to-debug-javascript-from-the-vs-2013-ide-unable-to-set (3认同)

joe*_*ish 21

我不知道你的具体问题是什么,但是如果你想强制一个调试断点总是发生,加上debugger;你希望它停止的行,它就会停止.这与JS所在的位置无关(在.js文件,.html,cshtml等中)

这是一篇关于它的博客文章:

http://sumitmaitra.wordpress.com/2013/12/11/quickbytes-visual-studio-2013-and-javascript-debugging/

我也同意JS应该进入.js文件(我在.js文件中添加断点时从未遇到过问题),但是对于快速原型设计,这是一个可以使用的解决方案.

如果仍然无效,您可以随时使用F12工具

  • 好的,启动附带调试器的web应用程序(ctrl + F5),然后尝试附加F12工具 (2认同)

小智 12

允许从Visual Studio调试javascript文件的唯一浏览器是Internet Explorer.(这是我在不同浏览器上测试我的应用程序后发现的)


Joe*_*Joe 5

我将我的javascript放在一个单独的文件中并使用IE调试,否则它将无法正常工作.

由于某种原因,chrome不允许你进入javascript.


Ran*_*sel 5

还有一件事需要检查.如果您有一个App_Start | BundleConfig.cs(随MVC 4一起提供 - 或者可能是3),请将BundleTable.EnableOptimizations设置为false(或者像我一样,将其包装在#if!DEBUG #endif并采用默认设置) .