IIS Express Cerrar inmediatamente el sitio en ejecución después de detener la aplicación web

173

Estoy usando Visual Studio 2012 en los primeros días cuando quiero detener la aplicación en IDE, la aplicación todavía se estaba ejecutando en IIS Express, podía navegar y trabajar con la aplicación en ejecución, pero ahora no puedo. IIS Apaga inmediatamente la aplicación si presiono el botón de parada. Desde que recuerdo no hice ningún cambio en la configuración. ¿Cómo debo hacer eso corriendo igual que los primeros días?

sable
fuente
1
Intente "ver en el navegador" en lugar de "jugar". ¿Cambiaste el navegador predeterminado? IE se apaga automáticamente cuando se detiene, Chrome no.
Emanuele Greco
No, estoy usando FF, pero a veces necesito depurar la aplicación.
saber
Creo que esto es algo relacionado con IIS Express.
saber
1
En lugar de hacer clic en el botón Detener, también puede usar Separar todo en el menú Depurar.
jessehouwing
1
Separó al depurador de los procesos que se están depurando, pero no elimina los procesos en el progreso.
jessehouwing

Respuestas:

344

Recientemente me enfrenté a una situación similar cuando de repente mi IIS Express se detuvo justo después de que dejé de depurar. Esto sucedió después de que encendí "Habilitar edición y continuar" . Entonces, si deshabilita esto, verá que IIS Express sigue ejecutándose incluso después de detener la depuración.

Haga clic derecho en su proyecto> haga clic en Propiedades> seleccione la pestaña 'Web' a la izquierda> desactive la Enable Edit and Continuecasilla de verificación.

Abhi
fuente
3
Puedo confirmar que esto solucionó el problema para mí.
Maxime Rouiller
51
Esto funciona !! Haga clic con el botón derecho en su proyecto> haga clic en Propiedades> seleccione la pestaña 'Web' a la izquierda> desmarque la casilla de verificación 'Habilitar edición y continuar'.
nv.snow
66
Funciona. En Visual Studio 2013 Abra "Herramientas-> Opciones", seleccione en el árbol "Depuración-> Editar y continuar" y desactive la casilla "Habilitar Edición y Continuar".
Renzo Ciot
3
Puede leer sobre esta función con más detalles aquí: blogs.msdn.com/b/webdev/archive/2013/07/11/…
gor
55
No, esta es una mala solución: vea la solución correcta, publicada por @jessehouwing, a continuación.
Josh M.
85

En VS2010 y VS2012, la opción editar y continuar está desactivada de manera predeterminada al crear un nuevo proyecto de aplicación web. En VS2013 está activado de forma predeterminada.

Puede encontrar esta opción en la pestaña Web en la ventana de propiedades del proyecto web.

opción editar y continuar vs2013

Con "Activar edición y continuar" activado, el depurador de VS inicia su aplicación web en IIS Express. Cuando detiene la depuración, IIS Express también se cierra. Con este comportamiento, verá que la bandeja del sistema IIS Express aparece durante la depuración y desaparece después de la depuración. Este comportamiento es el mismo que en VS2012 cuando la opción Habilitar edición y continuar está activada.

Si no necesita la funcionalidad "Editar y continuar" durante el desarrollo y desea que IIS Express permanezca después de una sesión de depuración, simplemente desactive la opción Habilitar edición y continuar .

Me f que desea utilizar "Editar y continuar" o está desarrollando un sitio Asp.net 5 (5 proyectos ASP.NET no tiene una casilla de verificación Editar y continuar en las propiedades del proyecto) que tiene que utilizar el "Detech all" para detener la depuración

El depurador se separará del proceso iis sin cerrarlo.

Claramente, la función "Editar y continuar" no funcionará hasta que comience a depurar nuevamente.

ingrese la descripción de la imagen aquí

giammin
fuente
una imagen vale más que mil palabras: D
giammin
64

En lugar de (X) STOPpresionar el botón, puede usar el Detach allelemento del menú en el menú Depurar. La principal diferencia es que el botón de detención finalizará cualquier proceso que se esté depurando actualmente, mientras que Desconectar todo desconectará el depurador de los procesos, pero no los finalizará.

El proceso de trabajo normal de IIS también finalizaría, pero dado que solía ejecutarse como un servicio, también se iniciará automáticamente de nuevo y, por lo tanto, podría continuar usándolo sin tener que reiniciar el proceso a través de |> Debugo |> Start without debugging.

Captura de pantalla para referencia

Agregar el botón 'Editar y continuar' a la barra de herramientas de depuración.

jessehouwing
fuente
3
esto en realidad está más cerca de la respuesta real ... La opción 'EDITAR Y CONTINUAR' es una característica ... Adjuntar y desconectar el rastreador de depuración a un proceso de escucha es el concepto subrayado de discusión aquí, y si hacer clic en detener termina ese proceso de escucha o simplemente se separa de él ... a lo que, por supuesto, también puede volver a conectarlo.
Brett Caswell
@jcmcbeth de hecho funciona para IIS Express ... No podría ver que no funciona ... Los procesos de IIS Express son solo eso, sus propios procesos separados ... su depurador VS está iniciando el proceso y adjuntándolo ... pero ese proceso no depende de que su depurador adjunto se ejecute más de lo que su aplicación o servidor web requiere un visitante / usuario-agente / cliente para ejecutarse en el proceso
Brett Caswell
1
@jcmcbeth, eso es algo extraño que decir en un sitio de preguntas y respuestas cuando se habla de soporte y configuración de funciones. Esto no es un tómalo o déjalo scenerio; Usted declaró que no parece funcionar con IIS Express. Lo hace.
Brett Caswell
1
La casilla de verificación "Habilitar edición y continuar" no está presente en el VS 2015 RC para proyectos ASP.NET 5, por lo que es el camino a seguir si desea utilizar IIS Express con estos.
Tomek
77
Esta es la respuesta a cómo VS 2015 Update 2 ha cambiado el comportamiento de IIS con la eliminación de Editar y continuar de la pestaña web Proyecto.
Robharrisaz 05 de
32

Parece que desde el lanzamiento de Visual Studio 2015 Update 2 la solución aceptada ya no funciona.

La solución más fácil que he encontrado hasta ahora es comenzar el proyecto seleccionando " Iniciar sin depuración " en el menú Depurar .

Tocqueville
fuente
1
Parece que estás hablando de VS2015.
Chad Carisch
Maldición, me encontré con este problema y publiqué una pregunta al respecto. ¿Hay alguna solución conocida para resolver esto, aparte de volver a vincular sus accesos directos para iniciar sin depurar y separar en lugar de detener?
nikib3ro
1
Dicen que lo están arreglando en la próxima actualización, mientras tanto, otro truco que puede usar es presionar ctrl + F5 para iniciar el sitio sin depurar: connect.microsoft.com/VisualStudio/feedback/details/2562576/…
mattmanser
4

Esto probablemente se clasifica mejor como otra solución, pero funciona para mí.

Generalmente comienzo el proyecto por primera vez con el menú contextual "Ver en el navegador" (o CTRL-Shift-W).

A partir de entonces, cualquier cosa que requiera depuración, generalmente la adjunto al nuevo proceso iisexpress existente. Si bien pasar el mouse por los menús contextuales haría que esto no sea un comienzo, es casi tan rápido como F5 con las siguientes teclas:

  • Shift-F6 para compilar el proyecto actual o Ctrl-Shift-B para compilar la solución completa (esto solo es necesario si ha realizado cambios, pero pensé que debería mencionarlo ya que F5 ya lo hace).
  • Ctrl-Alt-P abre el diálogo de adjuntar a proceso

  • escribir "iis" lo llevará al proceso de iisexpress

  • pulsa enter y estarás adjunto

Si tiene más de un iisexpress ejecutándose, el último iniciado generalmente aparecerá en la parte superior de la lista. Otra opción es hacer shift-select y adjuntar a todos ellos.

Esto tiene una serie de ventajas de la OMI. En primer lugar, no termina el proceso. En segundo lugar, la ventana del navegador no se cierra cuando detiene la depuración. Me hace reír cuando veo que un desarrollador repite 7 pasos para reproducir un error, cuando todo lo que necesita hacer es presionar F5 en una ventana del navegador existente para volver a publicar una vez que el depurador está conectado. Por último, ya tengo que hacer esto cuando me conecto a Nunit, para obtener una experiencia más consistente.

b_levitt
fuente