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企业版RC和VS 2015社区中使用任何浏览器,但使用Internet Explorer的问题 。 使用IE做了我的伎俩。
另外,在VS2017中, 我不得不添加一个 debugger
语句来让VS开始查看debugging点 。
最后,我想问至less有人投票的意见。
- 错误:types在两个目录中都存在
- 在PagedList中使用@ Html.DisplayNameFor()
- JavaScriptSerializer期间ASP.NET MVC中的MaxJsonLengthexception
- 从视图或部分视图中将CSS或JavaScript文件添加到布局头部
- ASP.NET MVC:Razor中的自定义Html Helpers
- HttpPost vs MVC中的HttpGet属性:为什么使用HttpPost?
- 为什么是ValidateInput(False)不工作?
- 如何lockingASP.NET MVC中的path?
- 目录不存在。 参数名称:directoryVirtualPath