No se puede iniciar la depuración en el servidor web. No se pudo iniciar la depuración de ASP.NET VS 2010, II7, Win 7 x64

92

Estoy ejecutando Visual Studio 2010 (como administrador), IIS 7 en Windows 7 x64. Puedo ejecutar el sitio web ASP.NET en IIS 7 sin depurar bien, pero cuando presiono F5 para depurarlo, obtengo:

No se puede iniciar la depuración en el servidor web. No se pudo iniciar la depuración de ASP.NET. Puede haber más información disponible iniciando el proyecto sin depurar.

Desafortunadamente, el enlace de ayuda no me está ayudando mucho y conduce a un gran árbol de cosas.

Verifiqué lo siguiente:

  • Requisitos de seguridad: no recuerdo haber tenido que hacer nada especial antes. El proceso de trabajo en IIS7 es w3wp.exe. Dice que si se ejecuta como ASPNET o SERVICIO DE RED, debo tener privilegios de administrador para depurarlo. ¿Cómo puedo saber si necesito cambiar algo aquí?

  • Páginas de propiedades del sitio web> Opciones de inicio> Depuradores> ASP.NET está marcado. El servidor personalizado se establece en la URL del sitio (que funciona bien sin depurar).

  • La depuración está habilitada en web.config.

  • La aplicación está usando ASP.NET 3.5 (eventualmente quiero pasar a 4.0 pero tengo que lidiar con una migración).

  • Grupo de aplicaciones: Classing .NET AppPool (también probé DefaultAppPool).

¿Alguna idea de dónde puedo consultar a continuación?

Seguramente no debería ser tan difícil instalar IIS, VS, crear un sitio web y comenzar a probarlo.

Gracias por adelantado.

Dan C
fuente
1
Para que quede claro cuando inició Visual Studio, hizo clic derecho sobre él y eligió la opción Ejecutar como administrador
Aaron Carlson
¿Ya revisaste este enlace? msdn.microsoft.com/en-us/library/dwesw3ee.aspx
Aaron Carlson
@ Aaron, Sí, de hecho tengo VS configurado para ejecutarse siempre como Administrador.
Dan C
@ Aaron, revisé explícitamente esa página y sus elementos secundarios antes de publicar aquí y no se destacó nada de lo que necesitaba hacer. Mi sistema cumple con los requisitos y la depuración está activada para el sitio. No tengo Windows Server 2003, por lo que no tengo que configurar IIS allí. No he tocado ninguna configuración de seguridad en nada ya que no sé si es necesario.
Dan C
No estoy seguro de si esto ayuda, pero intenté crear un nuevo sitio web ASP.NET 3.5 de prueba en VS 2010, lo agregué a IIS 7 sin ninguna configuración especial y pude depurarlo bien. Algo con mi aplicación principal con cómo está configurada en VS, IIS o quizás incluso en el sistema de archivos. Simplemente no estoy seguro de dónde empezar a buscar.
Dan C

Respuestas:

239

Intente ir a IIS y verifique que se inicie el grupo de aplicaciones que está utilizando. Muchas veces, producirá un error que cerrará el grupo de aplicaciones. Solo necesita hacer clic con el botón derecho y comenzar, y debería estar listo para comenzar.

Trey Copeland
fuente
Gracias, ojalá hubiera encontrado esta publicación el viernes. la piscina se detuvo y me encuentro con el primer error
Christopher Cabezudo Rodríguez
En mi caso, tuve que permitir ASP.NET v4.0.30319 en ISAPI y Restricciones CGI
Adi
15
+1 Nombre de usuario / contraseña incorrectos utilizados para la autenticación del grupo de aplicaciones.
P.Brian.Mackey
3
En mi caso, el grupo ya se inició, pero después de detenerlo y volverlo a iniciar, funcionó.
Serj Sagan
1
Gracias. Esta solución me funcionó perfectamente. Tuve que reiniciar el grupo de aplicaciones en más.
Domingo
44

Resulta que el culpable fue el módulo IIS Url Rewrite . Había definido una regla que redirigía las llamadas a Default.aspx (que se estableció como la página de inicio del sitio web ) a la raíz del sitio para poder tener una URL de inicio canónica. Sin embargo, aparentemente VS tuvo un problema con esto y se confundió. Este problema no sucedió cuando estaba usando Helicon ISAPI_Rewrite, por lo que ni siquiera se me ocurrió verificarlo.

Terminé creando un sitio web completamente nuevo desde cero y transfiriendo proyectos / archivos poco a poco a mi solución y reconstruyendo mi web.config hasta que descubrí esto. Bueno, al menos ahora tengo un sitio un poco más limpio usando .NET 4.0 (hasta ahora, espero que no me encuentre con ninguna pared), ¡pero qué molestia!

Dan C
fuente
6
Sí, pero debe asegurarse de que el grupo de aplicaciones se esté ejecutando, también su portal.
Junior Mayhé
En esa nota, mi problema estaba en web.config en: <applicationInitialization remapManagedRequestsTo = "/ App / splash.html" doAppInitAfterRestart = "true" lockAttributes = ""> <add initializationPage = "App / index.html" hostName = " CSI "lockItem =" true "/> </applicationInitialization>. Estaba usando eso para mostrar una pantalla de inicio mientras se inicializaba la aplicación.
Nick
6
Esto fue todo para mí. La regla de reescritura para enviar todo el tráfico HTTP a HTTPS estaba causando este feo error. No pude encontrar ninguna forma de mantener la regla en su lugar para la depuración.
Kat
Solo quería agregar que para mí era similar, pero la reescritura de SSL que habíamos significaba que nuestra ruta de inicio era localhost / appname, pero como la redirección lo envió a localhost / appname , causó un error de VS ya que no puede manejar la redirección. . Nos tomó más de una hora encontrar este problema, ya que cuando probamos en IIS localmente, ¡todo funcionó perfectamente! ..
Liam Wheldon
El mismo problema aquí (módulo IIS Url Rewrite). Lo resuelvo moviendo mis reglas a mi Web.Release.config. Consulte weblogs.asp.net/srkirkland/… y stackoverflow.com/questions/11032868/… .
Swisher Sweet
42

Visual Studio, al iniciarse, intentará (por alguna razón) acceder a la URL:

/debugattach.aspx

Si tiene una regla de reescritura que redirige (o captura), por ejemplo, .aspxarchivos, en otro lugar, obtendrá este error. La solución es añadir esta sección para el comienzo de su web.config's <system.webServer>/<rewrite>/<rules>sección:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

Esto se asegurará de detectar esta solicitud en particular, no hacer nada y, lo más importante, detener la ejecución para que no se ejecute ninguna de sus otras reglas. Esta es una solución sólida, así que siéntase libre de mantenerla en su archivo de configuración para producción.

Kirk Woll
fuente
1
Desafortunadamente, esto no funcionó para mí personalmente, sin embargo, puedo verificar que definitivamente es algún tipo de problema de reescritura, ya que comenté la sección de reescritura de web.config y puedo ejecutarlo sin problemas.
Matt
Es posible que desee probar la solución desde aquí: stackoverflow.com/a/30813200/375303 . Funciona como un encanto para mí.
jerhewet
Visual Studio registrará los errores relacionados con DebugAttach.aspx aquí:% UserProfile% \ AppData \ Local \ Temp \ Visual Studio Web Debugger.log (si no tiene ese archivo, o si es un archivo antiguo, entonces su problema probablemente no esté relacionado con DebugAttach.aspx.)
Brandon S
En mi caso, la causa raíz es correcta, pero no la resolución. Para mí, esto funcionó: <location path="debugattach.aspx"> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"> <clear /> </httpErrors> </system.webServer> </location>
Tasos K.
para mí, el problema se debía a "/debugattach.aspx", pero la solución también cambiaba erroMode a "DetailLocalOnly".
Nashe
30

Para beneficio de otros, en mi caso configuré el grupo de aplicaciones para usar mis credenciales de Windows para acceder a un recurso compartido de red. Desde la última vez que depuré la solución, restablecí mi contraseña de Windows. Se cambió la contraseña almacenada en el grupo de aplicaciones y bada bing.

Breeno
fuente
Gracias por esto, ni siquiera estaba usando un recurso compartido de red, pero funcionó muy bien.
Marissa
21

Si ApplicationPool Identity tiene una cuenta personalizada y se cambia la contraseña de la computadora, debe actualizar su contraseña

Hola Mundo
fuente
Sí, tuve un problema, probé un par de respuestas desde aquí sin resultado, ¡tu respuesta es lo que realmente me ayudó!
Vadzim Savenok
19

Para mi escenario, fueron cambios en la sección httpErrors en web.config, configurándolo así:

<httpErrors mode="Custom"> 

provocó el problema "No se puede iniciar la depuración en el servidor web". Regresarlo al valor anterior de "DetailLocalOnly" solucionó el problema. Profundizando un poco más descubrí que en realidad era solo la configuración de error 401 lo que estaba causando esto:

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

Al comentar la línea de error 401 también solucionó el problema, seguí con eso ya que luego puedo mantener el manejo de errores personalizado y comenzar con la depuración.

Todavía no tengo idea de por qué está sucediendo esto.

Fjarskiptagervitungl
fuente
La misma causa para mí, estaba presenciando respuestas 401 en mis registros cuando intentaba comenzar a depurar, y desactivar mi manejo de errores predeterminado resolvió el problema "vs no se puede depurar el sitio" para mí. No entiendo por qué ocurre el 401 incluso en mi página de inicio de sesión cuando y solo cuando se inicia la depuración con vs, mientras que solo el acceso anónimo y la autenticación de formulario web. están activados.
Frédéric
Esta fue la solución para mí también, solo que tengo una ruta de error predeterminada establecida en lugar de definir explícitamente una para 401.
tuespetre
Esto es lo que funcionó para mí (temporalmente eliminé toda la sección httperrors). Las cosas que probé anteriormente que no funcionaron fueron reiniciar el grupo de aplicaciones y eliminar las reglas de reescritura de URL.
Nicholas Westby
Esto es lo que funcionó para mí. luego cambié mi error personalizado como @Pablo Romeo escribió en esta respuesta: stackoverflow.com/a/13905859/4489664
Bondaryuk Vladimir
2
Cambiar erroMode a "DetailLocalOnly" también me solucionó. El depurador estaba intentando abrir "/DebugAttach.aspx", lo que hizo que se dirigiera a la página de error personalizada que no se podía ejecutar en el momento dado.
Nashe
13

Grupo de aplicaciones de verificación Plase. si está detenido. reiniciarlo.

usuario3206598
fuente
4
Esta es la misma que la respuesta número 1 que se propuso un mes antes.
mac10688
Está bien, es eso, pero ¿por qué se detiene cada vez?
Fernando Torres
Mi grupo de aplicaciones se estaba ejecutando en un usuario al que se le cambió la contraseña.
Anderson
11

Tuve el mismo problema al intentar depurar un módulo DNN (Dot Net Nuke). Resultó que necesitas tener compilación debug = "true":

<compilation debug="true" strict="false" targetFramework="4.0"> 

en su web.config. De forma predeterminada, es falso en DNN. Fuente original aquí: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts

Zar Shardan
fuente
¡¡Gracias!! Me he estado arrancando el pelo todo el día y la solución fue muy sencilla. ¡Si tan solo VS pudiera dar un mensaje de error significativo!
colincameron
8

Tengo exactamente el mismo problema después de implementar el módulo de reescritura.

Si elimino las entradas de reescritura de mi archivo web.config, la depuración funciona perfectamente.

Para evitar esto, solo comentaré las etiquetas de reescritura durante la depuración, así ...

<rewrite>
    <rules>
        <rule name="LowerCaseRule_1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
        <rule name="RedirectDefault.aspx_1" stopProcessing="true">
            <match url="(.*)default.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Luego elimino los comentarios después de la depuración.

Debe ser un error en Visual Studio 2010.

geofili
fuente
1
Es cierto que es una solución alternativa, pero deficiente porque es muy fácil olvidarse de eliminar comentarios como este antes de una confirmación o publicación del sitio.
Jon Adams
1
Puede mover estas líneas en el archivo de configuración web.config.release, por lo que cuando lo publique, estará solo en la versión publicada. Eso fue lo que hice.
Shalke
Tal vez solo lo haga excluir /debugattach.aspx. Mira el comentario de Peter Monks
Daniel Fisher lennybacon
6

Recibí el mismo error desde que el grupo de aplicaciones se detuvo en IIS. Después de iniciar el grupo de aplicaciones, se resolvió el problema.

Ovini
fuente
¡Resolví mi problema también! Descubrí que mi DefaultAppPool se ha detenido. Gracias por compartir esto. No puedo entender por qué se detuvo.
Jobert Enamno
5

Esto es lo que hice para borrar el error que anotó. Localice la carpeta web de la aplicación dentro del sistema de archivos, vaya a Propiedades => Seguridad, haga clic en el botón Avanzado, luego haga clic en la pestaña Propietario , haga clic en el botón Editar y cambie el propietario (con los permisos correctos) de la carpeta y marque la casilla " Reemplazar propietario en subcontenedores y objetos "casilla de verificación. Haga clic en " Aplicar " y luego estaba en el negocio (capaz de depurar).

Espero que esto funcione para otra persona.

Moe Howard
fuente
2
¿Cambiar de dueño a quién?
Dumbledad
5

Finalmente arreglé esto para mi única solución que tenía esto. Dos de los proyectos de la solución se establecieron como sitios en IIS. Entré y habilité la suplantación de ASP.Net bajo Autenticación para ambos proyectos ... ¡y VIOLA! ¡FINALMENTE, no más de este molesto error!

Todd Vance
fuente
3

Recibí el mismo mensaje de error en VS 2012, pero no se estaba ejecutando como administrador. Cuando ejecuté la aplicación como administrador, recibí un mensaje diferente y un poco más útil (que pude entender). HTH

Tom Gerken
fuente
3

Si App Pool tiene problemas para reiniciarse o simplemente no quiere reiniciar, verifique si Windows realizó una actualización reciente en ASP.NET v4.0 u otro App Pool. Eso es lo que pasó en mi caso. Simplemente reinicié mi computadora, luego reinicié ASP.NET v4.0 App Pool y todo estaba funcionando nuevamente.

Chewbacca17
fuente
2

Dan,

Además de las sugerencias de Aaron, intente lo siguiente

  • Compruebe que la autenticación de Windows integrada esté seleccionada en su sitio web de IIS
  • ¿Puede depurar usando Cassini en lugar de IIS?
Keefu
fuente
Seguí los pasos aquí para activar la autenticación integrada de Windows: msdn.microsoft.com/en-us/library/x8a5axew.aspx, sin embargo, sigo teniendo el mismo error (el administrador de iis muestra una advertencia de que no puedo usar tanto la autenticación basada en inicio de sesión como la de desafío - mi sitio utiliza autenticación de formularios). Puedo depurar el sitio usando el servidor web integrado en VS 2010, pero le faltan funciones.
Dan C
¿Intentó crear un nuevo sitio web en IIS e implementar su código allí? Por curiosidad, ¿qué características se perderían si depuraran en Cassini? Que yo sepa, Cassini admite la autenticación de formularios.
Keefu
¿Qué quiere decir "crear un nuevo sitio web en IIS"? Esta es una computadora nueva con un nuevo sistema operativo, VS2010, se instala IIS. Creé una nueva aplicación en IIS y la apunté a la carpeta del sitio web real (recuperada de una copia de seguridad). URL Rewrite no parece funcionar completamente en Cassini. También usamos un módulo personalizado para cambiar automáticamente entre http y https ( codeproject.com/KB/web-security/WebPageSecurity_v2.aspx ).
Dan C
Cassini no admite el módulo Url Rewrite 2
citronas
2

Tuve el mismo problema con Windows 10 cuando se activaron todas las funciones de Windows de IIS. Cambió a Windows 8.1 y volvió a tener problemas. La raíz estaba en el nombre del sitio web " http: //MySite.local " (no relacionado con la versión del sistema operativo).

Y la solución es simple

  • Editar archivo de hosts en %SystemRoot%\System32\drivers\etc\

  • Agregar línea con enlace de IP: 127.0.0.1 MySite.local

Artru
fuente
Esto fue una joya para mí, me olvidé por completo de configurar mi archivo de host y me preguntaba por qué mis apis no funcionaban cuando cambié a iis locales (para https). VS funcionó con un solo sitio ejecutándose, pero una vez que agregué un segundo, ya no pude depurar, esto lo resolvió.
CDerrig
1

Este error apareció hoy debido a un defecto en el código que se estaba publicando una gran cantidad de veces, lo que provocó que IIS se inundara de solicitudes. Básicamente, esto bloqueó IIS y, por lo tanto, cuando intenté depurar, se agotó el tiempo para intentar iniciar el depurador. Simplemente reinicié IIS, que tomó unos minutos, y resolvió el problema.

Seguro que desearía que este error fuera menos genérico, parece que hay varias formas diferentes de producirlo.

ammills01
fuente
1

Tuve el mismo problema en Visual Studio 2012 y 2013 en Windows 8.1. Para mí, la solución fue agregar la autenticación de Windows a IIS usando 'Activar o desactivar las funciones de Windows'

Activar o desactivar la captura de pantalla de las funciones de Windows

dumbledad
fuente
1

Asegúrese de que el grupo de aplicaciones de su sitio utilice la versión de marco correcta . Recibí el error "No se puede iniciar la depuración" en un sitio ASP.Net 2005. Estaba usando incorrectamente DefaultAppPool en Windows 7 (que creo que estaba usando .Net Framework 4). Creé un nuevo grupo de aplicaciones basado en .Net Framework 2 y lo asigné al sitio web del problema. Después de eso, la depuración funcionó bien.

DesarrolladorDan
fuente
1

Compruebe si su sitio web en IIS no se detiene.

Lo arreglé y puse mi sitio web en funcionamiento. :RE

Después
fuente
1

Tuve este problema y finalmente me di cuenta de que ASP.net no está registrado correctamente con IIS. Esto puede suceder cuando el servidor IIS está instalado antes que Visual Studio. Para solucionar este problema, utilice el comando aspnet_regiis -i Puede encontrar más información en el enlace

karpanai
fuente
1

tenía el mismo problema. Si tiene un certificado SSL instalado en IIS y si está intentando depurarlo desde Visual Studio, debe configurar su aplicación en IIS para ignorar el certificado.

akd
fuente
1

Tuve el mismo problema y descubrí que se debía a que había escrito un carácter por error en mi Web.configdespués de la etiqueta final. Mi Web.configparecía que esta justo al final: </section>h. La "h" era un carácter adicional después de la etiqueta de cierre.

Lavanya
fuente
0

elimine la picadura como esta: targetFramework = "4.0" en web.config o cambie AppPool a la versión de marco apropiada.

Slava
fuente
0

La desinstalación de la extensión IIS UrlScan me solucionó el problema.

Thomas
fuente
0

Me había enfrentado al mismo problema, pero estaba en el servidor de desarrollo web de Visual Studios en lugar de IIS. La solución es desmarcar la opción en la pestaña Web en las propiedades del proyecto, Aplicar la configuración del servidor a todos los usuarios (almacenar en el archivo del proyecto). ahorrará tiempo valioso a alguien.

usuario3169006
fuente
0

Yo tuve el mismo problema. Todas las respuestas anteriores no funcionaron para mí. La solución fue eliminar la carpeta bin y obj manualmente.

user1949096
fuente
0

También encontré este problema, pero era más similar a lo que explicó @Kirk y la reescritura de URL.

En mi caso, alguien había verificado este cambio en el archivo web.config para un proyecto MVC:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

Debido a que las extensiones de archivo .aspx no estaban permitidas en el servidor web, /debugattach.aspxse denegó la URL, lo que impidió que se ejecutara el depurador. Una vez que eliminé esta configuración, funcionó nuevamente.

Peter Monks
fuente
0

Tuve el mismo problema cuando creé la aplicación en Visual Studio, y luego en las propiedades creé el directorio virtual para usar con IIS local. Si alguien tiene este error es porque VS crea una aplicación en AppPool incorrecto, es decir, en AppPool que no se adapta a sus necesidades.
Si este es el caso, vaya al Administrador de IIS, seleccione Aplicación, Vaya a Configuración básica y cambie AppPool por Aplicación y estará listo para comenzar.

Sauce
fuente
0

Recibí este mismo error recientemente y en mi caso resultó que había tipos MIME duplicados. Recientemente había agregado dos que inicialmente no aparecían en la lista. IIS me permitió agregarlos y fue solo cuando decidí verificar los tipos MIME para el sitio nuevamente como parte de mi proceso de diagnóstico que también obtuve un error en IIS. Hacía referencia a duplicados en web.config. Una vez que volví al archivo web.config, noté que se había agregado una nueva sección llamada, que incluía los dos tipos MIME recientemente agregados. ¡Eliminada esa sección y la vida es buena otra vez! Espero que esto pueda ayudar a otros que no han logrado solucionar el problema con ninguna de las otras sugerencias.

Miguel
fuente