Visual Studio 2013不能在cshtml中debuggingjavascript

我有一个用Visual Studio 2013创build的ASP.NET Web应用程序。我试图在CSHTML文件中debuggingJavaScript。 然而,每当我启动网页,任何断点都会变成一个红色的圆形箭头,并指出:“断点不会被命中,debugging器的目标代码types的可执行代码不会与此行相关联,可能的原因包括:条件编译,编译器优化,或者当前debugging器代码types不支持该行的目标体系结构。“

最近,这个项目被转换来支持MVC和RAZR,这两者我都不了解,而这正是这个问题开始的时候。 但是,search那些已经取得的成果,不解决我的问题。

Web.config文件:

<compilation debug="true"...> 

我知道我可以使用Firebug或其他浏览器工具来debuggingJavaScript,但我宁愿坚持使用Visual Studio的debugging,因为这是我习惯的。

所以,显然这是一个“已知问题”,将尽快予以解决。 临时工作适用于“一些”人,是确保任何Javascript是在一个单独的文件。

这是由于在同一个文件中有RAZR和Javascript,Visual Studio 2013无法在这种情况下处理debugging。

我不知道你的特定问题是什么,但是如果你想强制一个debugging断点总是发生,添加debugger; 到你想让它停下来的线上,它就会停下来。 无论JS位于何处(在.js文件中,.html,cshtml等)

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

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

我也同意,JS应该在一个.js文件(我从来没有添加一个.js文件中的断点问题),但为了快速原型,这是一个可以使用的解决scheme。

如果这仍然不起作用,你可以随时使用F12工具

唯一允许从Visual StudiodebuggingJavaScript文件的浏览器是Internet Explorer。 (这是我在不同的浏览器上testing我的应用程序后发现的)

我把我的JavaScript在一个单独的文件和IE浏览器debugging,否则它将无法正常工作。

由于某些原因,铬不允许你步入JavaScript。

还有一件事要检查。 如果你有一个App_Start | BundleConfig.cs(它带有MVC 4,或者可能是3),将BundleTable.EnableOptimizations设置为false(或者像我一样,将它包装在#if!DEBUG #endif中,并采用默认设置) 。

我尝试过,但未能使用Chrome浏览器,然后使用IE浏览器,结果使用Firefox中的Firebug插件,我能够debugging和设置断点在我的JS没有任何问题(在MVC6应用程序在Visual Studio 2015,这显然仍然是问题?!)…

仅供参考 – 当我试图使用F12开发工具在Chrome中debugging我的JS时,它告诉我这不是一个选项,因为debugging器已经连接到另一个进程…

对于在2017年来到这里的人们,我想分享一下我在 VS2017企业版RCVS 2015社区中使用任何浏览器,但使用Internet Explorer的问题 。 使用IE做了我的伎俩。

另外,在VS2017中, 我不得不添加一个 debugger 语句来让VS开始查看debugging点

最后,我想问至less有人投票的意见。