habilitar - Puntos de interrupción de Javascript en Visual Studio 2017
habilitar debug javascript visual studio 2017 (10)
Después de pensar que la única forma de hacer que esto funcionara era hacer una reparación en Visual Studio 2017, usando el instalador, me di cuenta de que teníamos BundleTable.EnableOptimizations = true;
en Bundle.config
. Web.Debug.config
esta línea y la agregué a la transformación Web.Debug.config
y comenzó a funcionar como se esperaba.
Acabo de instalar Visual Studio 2017. Después de iniciar una aplicación ASP.NET MVC, recibo el mensaje de que la depuración de Chrome en Visual Studio está habilitada.
Pero mis puntos de ruptura en Visual Studio no alcanzarán. Los puntos de interrupción en el código de Razor parecen estar funcionando pero Javascript no. Los puntos de interrupción no son completamente rojos como deberían ser. Un reinicio, la reconstrucción no parece tener ningún efecto.
Tengo el siguiente ejemplo de código
@Html.Partial("_Test", Model.Test) // debugging works here
<script>
var i = 1;
console.log(i); // debugging does not work here or above
</script>
@section scripts {
<script>
var a = 11;
console.log(a); // debugging does not work here or above
</script>
}
No tengo la consola de depuración de chrome abierta y verifiqué la opción en Visual Studio (''Habilitar depuración de Javascript ...'') que está habilitada.
Según esta publicación del blog, pensé que debería funcionar: https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
¿Me estoy perdiendo de algo? ¿Podría ser que esto no esté funcionando en Visual Studio 2017 de alguna manera?
Solo tengo una extensión y es Resharper, pero supongo que esto no es un problema.
Dos opciones que puedes probar:
- Desactive la opción "Habilitar la depuración de JavaScript para ASP.NET (Chrome e IE)" en las opciones de VS y luego use el depurador (F12) en su navegador.
- Comience a depurar en Visual Studio y luego agregue su (s) punto (s) de interrupción en el
Solution Explorer -> Internet Explorer -> <your view name>
. (Asume que estás utilizando IE)
Esta función no funciona para el código javascript dentro de un archivo * .cshtml, pero solo para el código en archivos separados * .js (o * .ts).
Observe cómo el punto de interrupción en el archivo JavaScript está activo, mientras que el punto de interrupción en la vista Razor no lo está.
También he notado que los puntos de interrupción no serán afectados por los archivos de JavaScript cuando el código de JavaScript se ejecute durante la carga de la página cuando la página se carga por primera vez en la sesión actual de Chrome. Los puntos de interrupción solo funcionarán después de que el documento haya terminado de cargarse una vez.
Funciona en vs 2017 solo con habilitar la opción "Habilitar depuración de Javascript para ASP.NET (Chrome e IE)" y configurar el depurador; en el código js en * .cshtml y en el archivo * .js
Mi mejor conjetura aquí (al menos en mi caso, potencialmente también en su caso) es que tiene que ver con la agrupación. El proyecto en el que estoy trabajando ahora mismo agrupa secuencias de comandos separadas en una secuencia de comandos de Big Daddy (sin minar en la configuración de depuración), por lo que mi corazonada es que VS no asignará mi punto de interrupción a esa secuencia de comandos definitiva que se ejecuta en el navegador.
Sé que esto no responde a la pregunta ya que es solo una corazonada, pero espero que nos apunte en la dirección correcta. Quizás si pudiéramos validar esto con la experiencia de otros, esto podría evolucionar hacia una respuesta real.
Otro consejo: la depuración js solo se puede habilitar después de configurar ''URL de inicio'' en ejecutar / depurar.
Solo de esta manera VS se adjuntará al proceso del navegador.
Para aquellos que usan Google Chrome Portable (o Chrome agregado a la lista de depuración de los navegadores manualmente) ayuda a esto:
Necesitas adjuntarlo luego a la instancia de Chrome apropiada manualmente y viola
Tuve el mismo problema, nuevo en .net core, una solución que funcionó para mí fue agregar el depurador; en la parte superior de la secuencia de comandos:
<script>
debugger;
-- rest of your jscript here
</script>
Tuve el mismo problema. Seguí las instrucciones de la misma publicación: https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
Hice lo siguiente en Visual Studio: Vaya a Tools
-> Options
-> Debugging
-> General
y desactive la configuración "Habilitar depuración de JavaScript para ASP.NET (Chrome e IE)". Cambios guardados, a continuación, ejecute la página web.
Después de esto, noté que Chrome no mostraba la "página web de depuración" antes de cargar mi página. Luego cerré mi página web y detuve la sesión de depuración.
Volví a habilitar la opción "Habilitar la depuración de Javascript para ASP.NET (Chrome e IE)", luego ejecuté la página web utilizando IE y funcionó. La página se detuvo y el punto de interrupción apareció en mi estudio visual.
- Visual Studio Professional 2017 Versión 15.8.1
- Chrome versión 68.0.3440.106 (versión oficial) (64 bits)
Tuve que habilitar el depurador de JavaScript de Chacy heredado en:
Opciones -> Herramientas -> Depuración -> General -> Habilitar el depurador de JavaScript Chrome heredado para ASP.NET