net - Visual Studio 2013 no puede depurar javascript en cshtml
enable javascript debugging for asp net (7)
Tengo una aplicación web ASP.NET creada con Visual Studio 2013. Estoy intentando depurar JavaScript en un archivo CSHTML. Sin embargo, cada vez que abro la página web, cualquier punto de interrupción se convierte en una flecha circular roja y dice: "Actualmente no se alcanzará el punto de interrupción. No se asocia ningún código ejecutable del tipo de código de destino del depurador con esta línea. Las causas posibles incluyen: compilación condicional, optimizaciones de compilador, o la arquitectura de destino de esta línea no es compatible con el tipo de código del depurador actual ".
Recientemente, el proyecto fue cambiado para soportar MVC y RAZR, ninguno de los cuales conozco bien, y aquí es exactamente cuando comenzó este problema. Sin embargo, al buscarlos obtuve resultados que no solucionan mi problema.
Web.config:
<compilation debug="true"...>
Sé que puedo depurar JavaScript con Firebug o alguna otra herramienta del navegador, pero preferiría quedarme con la depuración de Visual Studio ya que es a lo que estoy acostumbrado.
El único navegador que permite depurar un archivo javascript desde Visual Studio es Internet Explorer. (Esto es lo que descubrí después de probar mi aplicación en diferentes navegadores)
Entonces, aparentemente este es un "problema conocido" que se solucionará lo antes posible. Un trabajo temporal que funciona para "algunas" personas es asegurarse de que cualquier Javascript esté en un archivo separado.
Se debe a que RAZR y Javascript están en el mismo archivo y Visual Studio 2013 no puede manejar la depuración en esa instancia.
Intenté y no pude usar Chrome y luego IE y terminé usando el complemento Firebug en Firefox, y pude depurar y establecer puntos de interrupción en mi JS sin problemas (en una aplicación MVC6 en Visual Studio 2015 donde aparentemente todavía es un ¡¿problema?!)...
FYI - Cuando traté de depurar mi JS en Chrome usando las herramientas F12 Developer Tools, me dijo que no era una opción ya que el depurador ya estaba conectado a otro proceso ...
No sé cuál es tu problema en particular, pero si quieres forzar a que siempre se produzca un punto de interrupción de depuración, agrega el debugger;
a la línea en la que desea que se detenga, y se detendrá. Esto es independientemente de dónde se encuentre el JS (en un archivo .js, .html, cshtml, etc.)
Aquí hay una publicación en el blog sobre esto:
http://sumitmaitra.wordpress.com/2013/12/11/quickbytes-visual-studio-2013-and-javascript-debugging/
También estoy de acuerdo en que JS debe ir en un archivo .js (que nunca he tenido problemas para agregar un punto de interrupción en un archivo .js), pero para el prototipado rápido, esta es una solución que puede usar.
Si eso aún no funciona, siempre puedes usar las herramientas F12
Para las personas que vienen aquí en 2017, quiero compartir que tuve este mismo problema con VS2017 Enterprise RC , y con VS 2015 Community con cualquier navegador, excepto Internet Explorer . Usar IE hizo el truco para mí.
Además, en VS2017, tuve que agregar una declaración de debugger
para que VS comenzara a buscar puntos de depuración .
Finalmente, me gustaría preguntar al menos un comentario de las personas que votan hacia abajo.
Puse mi javascript en un archivo separado y depuro con IE; de lo contrario, no funcionará.
Por algún motivo, Chrome no te permite ingresar al javascript.
Una cosa adicional para comprobar. Si tiene un App_Start | BundleConfig.cs (que viene con MVC 4 - o tal vez 3), establezca BundleTable.EnableOptimizations en falso (o, como lo hice, envuélvalo en un #if! DEBUG #endif y tome la configuración predeterminada) .