No se puede iniciar el servidor web IIS Express

310

Tengo una solución asp.net MVC 4. Cuando intento abrirlo con Visual Studio 2012, aparece el siguiente error:

Microsoft Visual Studio

La configuración de Web https://localhost:para ASP.NET 4.5 falló. Debe configurar este sitio manualmente para ASP.NET 4.5 para que el sitio se ejecute correctamente. No se pudo encontrar el servidor https://localhost:44300/en la máquina local. Asegúrese de que el servidor IIS local se haya configurado para admitir comunicaciones seguras.

OK ayuda

Aunque la solución se abre. Además, cuando intento ejecutarlo desde el menú de depuración, aparece el siguiente error:

 Unable to launch the IIS Express Web server.

The start URL specified is not valid. https://localhost:44300/

y no puedo depurar el código. ¿Cómo deshacerse de estos errores y depurar / ejecutar el sitio web desde VS 2012?

Por favor recomiende.


DotnetSparrow
fuente
44
Los mensajes de error son bastante claros sobre lo que está mal: 1) You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly.y 2) The start URL specified is not valid.. También parece que estás usando HTTPS; AFAIK IIS Express no es compatible con eso (y si lo hace, probablemente deba configurarlo, de ahí la Make sure the local IIS server has been configured to support secure communicationsparte). Editar: Parece que admite SSL: riii.nl/apr5u , ¡una guía paso a paso del propio Hanselman!
RobIII
1
@Robel, veo que en las propiedades del sitio, en la pestaña de aplicación, el marco de destino es 4.5, y en la pestaña Web, Iniciar acción es Página actual. ¿Debo cambiar la URL del proyecto a localhost: 44300 ? Estoy usando IIS express 8
DotnetSparrow
Era la configuración del firewall :(
Moumit
1
Pude resolver este problema de la siguiente manera: 1) Visual Studio - Opciones -> Buscar - IIS 2) Marque "Usar la versión de 64 bits de IIS Express para sitios web y proyectos".
NanaFadanvis el
Creo que esto ayudará a stackoverflow.com/a/54222339/2923956 .
Biswajit Panday

Respuestas:

377

Tuve exactamente el mismo problema.
La razón: mal archivo de configuración de IIS.

Intente eliminar la IISExpresscarpeta creada automáticamente , que generalmente se encuentra en %userprofile%/Documents, por ejemplo C:\Users\[you]\Documents\IISExpress.

No se preocupe, VS debería volver a crearlo, esta vez correctamente, una vez que vuelva a ejecutar su solución.


EDITAR: línea de comando para eliminar la carpeta:

rmdir /s /q "%userprofile%\Documents\IISExpress"
Yehuda Shapira
fuente
77
Esto funcionó para mí. Incluso después de desinstalar y reinstalar IIS Express 8, mantuvo el mismo archivo de configuración, por lo que mi problema persistió. Cambié el nombre de la carpeta IISExpress a otra cosa y se creó una nueva carpeta con una versión limpia del archivo de configuración.
nthpixel
2
"En su carpeta predeterminada" ¿Dónde es exactamente eso? No lo veo en mi solución en absoluto.
Corey Ogburn
22
@CoreyOgburn Debe estar en la carpeta Documentos e IISExpress (es decir, C: \ Users \ Corey \ Documents \ IISExpress \ Config) y eliminar la carpeta de configuración. Tengo el mismo problema pero esto no me lo solucionó.
Arne H. Bitubekk
49
Gracias. Simplemente no olvide cerrar y luego volver a abrir VS para que reconfigure IIS Express.
Nick.T
66
@crokusek tiene la respuesta para VS2015 Actualización 3. Navegue a la carpeta ".vs \ config" en el directorio de la solución y elimine el archivo "applicationhost.config" allí.
AJ.
234

Si usa VS2015 o superior

Asegúrese de que el proceso iisexpress no se esté ejecutando.

Asegúrese de que ningún otro proceso esté utilizando su puerto deseado. Puedes hacerlo ejecutando

netstat -a -b

en la consola (como Administrador, escriba cmden el menú de inicio, haga clic derecho y elija 'Ejecutar como admiminstrator'). Si ve una entrada cuyo estado está ESTABLECIDO o ESCUCHANDO, por ejemplo, significa que algún otro proceso está utilizando este puerto. Deberá terminar ese proceso o cambiar el puerto.

Luego elimine el siguiente archivo

<<path_to_solution_folder>>\.vs\config\applicationhost.config

tenga en cuenta que la .vscarpeta puede estar oculta

luego busque el <<project-name>>.csproj.userarchivo, ábralo con el editor de texto (bloc de notas) y asegúrese de que IISUrldebajo WebProjectPropertiesesté configurado en <IISUrl>http://localhost:XXXXX/</IISUrl>dónde XXXXXestá su puerto deseado.

después de hacer esto e intentar iniciar la aplicación, puede obtener

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Luego vaya a {Propiedades del proyecto} -> Web y presione el botón "Crear directorio virtual"

ingrese la descripción de la imagen aquí

Mihail Shishkov
fuente
1
Esto funcionó perfectamente en VS2015. Se produjo un problema después de crear un proyecto de aplicación web heredado en la solución principal de .NET.
Sebazzz
Esto funcionó, las herramientas principales de .NET hicieron un desastre con IISE: /
Keoz
Por lo general, vivo en el mundo OWIN / NancyFx, así que cuando tuve que hacer un proyecto de API web después de un paréntesis, me quedé perplejo, hasta que vi esta respuesta. - Es bueno saber este hecho - ¡Gracias!
code4life
trabajar en VS 2915 @mihail no eliminé nada, solo creé un directorio virtual ... ¿para qué sirve?
abdoutelb
44
@AbdouTelb revisa esto en iis.net/learn/get-started/planning-your-iis-architecture/… eliminando el archivo .config básicamente te aseguras de que el archivo será recreado por vs y por lo tanto cualquier problema asociado con él (y puede haber muchos) desaparecerá. IIS Express utiliza este archivo de la misma manera que IIS utiliza su propio archivo applicationhost.config, por lo que es igual que restaurar los valores predeterminados de fábrica. Crear un directorio virtual por sí solo no es suficiente para eliminar cualquier problema que pueda ocultarse en el archivo. En tu caso, solo tienes suerte :)
Mihail Shishkov
85

@roblll lo hizo bien. Pero para aquellos de ustedes que no quisieron buscar la respuesta, aquí está:

  1. Cierre Visual Studio (puede que no sea necesario, pero no le hará daño).
  2. Navega a tu carpeta Documentos. Aquí es donde estaba mi directorio de configuración IISExpress.
  3. En la carpeta de configuración, hay un archivo llamado host de la aplicación. Abre eso.
  4. Busca el nombre de tu proyecto. Visual Studio debería haberlo agregado allí cuando bombardeó en sus intentos anteriores.
  5. Tenga en cuenta que hay un enlace para HTTP con el puerto que piensa usar para https.

    //Change this:
    <binding protocol="http" bindingInformation="*:44300:localhost" />
    
    //to this:
    <binding protocol="https" bindingInformation="*:44300:localhost" />
    

Tenga en cuenta que Visual Studio podría haber proporcionado puertos diferentes de los que esperaba. Solo asegúrese de que los puertos en el enlace correspondan a lo que está en la pestaña Web de las propiedades de su proyecto.

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

Jacob Lauzier
fuente
55
En realidad, estaba abriendo un proyecto desarrollado en otro lugar, cambiando la configuración del protocolo para el proyecto a https y volviendo a cargar el proyecto me libré del error. Gracias @ Jacob!
Geoffrey
Solo eliminar la carpeta IISExpress no me resolvió. Después de eliminar, cuando relancé VS y abrí este proyecto, apareció un cuadro de diálogo de error, que se resolvió solo después de hacer esto. Ese proyecto que descargué en la página de asp.net , era un proyecto de muestra.
Alisson
Por cierto, si tienes enlaces http y https, asegúrate de no estar usando el mismo número de puerto en ambos.
Ziad Akiki
41

Tuve el mismo problema pero la solución que funcionó para mí fue diferente.

  1. En VS2013 Depuración abierta> Propiedades {YourWebsiteName}
  2. Seleccione la pestaña "Web".
  3. En "Servidores", encontré "Anular URL raíz de la aplicación". Lo desmarqué y guardé.

Eso era todo lo que necesitaba para poner las cosas en marcha.

centralscru
fuente
Te recomiendo que pruebes esta solución primero. Marcar la casilla con una URL no válida creará el error mencionado en la pregunta.
Timothy
16

Mismo problema, pero necesitaba iniciar VS2013 en modo administrador .

estera
fuente
Lamentablemente esto no me ayudó.
AH.
16

Pruebe los siguientes pasos:

  1. eliminar la IISExpress carpeta que dijo @Yehuda Shapira
  2. reiniciar la computadora
  3. eliminar la carpeta .vs en proyecto

¡Ten buena suerte!

noche
fuente
1
1.Cierre Visual Studio 2.Borre la carpeta .vs que me funcionó. Si elimino .vs dolder mientras VS está abierto. No funciona.
akdora
Eliminar la carpeta .vs es lo único que funcionó para mí. La carpeta .vs se encuentra dentro de la carpeta del proyecto, pero está oculta de forma predeterminada.
George
15

Tuve el mismo problema y luego abrí el administrador de tareas -> procesos y luego eliminé el proceso iisexpress.exe. Después de eso intenté ejecutar la aplicación y pude ejecutarla con éxito

Vinu
fuente
14

En mi caso, el proyecto estaba en la unidad de red y eliminar la carpeta IIS Express no ayudó como se describe en otras respuestas. Mi solución fue copiar el proyecto en la unidad local y funcionó.

Amir Chatrbahr
fuente
12

Tuve el mismo problema, gracias a @Jacob por dar información al respecto.

La razón es: entrada incorrecta para su proyecto en el archivo de configuración host de aplicaciones ubicado en

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. Cierre todas las soluciones de Visual Studio.
  2. Cambie el nombre de la carpeta IISExpress a alguna IISExpress-Copy (en lugar de eliminarla puede tener una copia)
  3. Ahora abra VS nuevamente y compile / depure el proyecto, ahora verá la carpeta IISExpress creada nuevamente para usted con la configuración correcta.

Funcionó para mí y espero que también funcione para ti.

usuario2732247
fuente
Intenté los pasos descritos en las otras respuestas, pero este es el que me funcionó. Tuve que cambiar el nombre de la IISExpresscarpeta. Eliminarlo no funcionó para mí.
webworm
no funciona para mi todo comenzó cuando me metí con https
Toolkit
9

Tuve el mismo problema, la causa fue que el indicador "anular URL raíz de la aplicación" se estableció en Propiedades -> Web Después de eliminar el indicador, IIS Express estaba comenzando bien con el puerto definido.

vm370
fuente
8

Parece que necesita realizar algunas configuraciones ya que parece estar usando SSL; Aquí hay una guía paso a paso del propio Scott Hanselman .

RobIII
fuente
@Roblll, no veo la opción Usar IIS Express cuando hago clic derecho en mi proyecto MVC en VS 2012, lo vi en VS 2010. Intento habilitar SSL para la solución en las ventanas de propiedades y dice que la propiedad no es válida. Moreever, en el archivo applicationhost.config, veo varias entradas para mi aplicación como Webapplication (1), Webapplication (2), Webapplication (3)
DotnetSparrow
Tuve el mismo problema y lo superé ejecutando VS2012 como administrador ( stackoverflow.com/a/13682315 ). No estoy muy contento con esa solución, pero no pude encontrar ninguna otra.
brudert
En mi proyecto, noté que se usaba el mismo número de puerto para SSL y no SSL. Así que arreglé eso y el error desapareció.
orad
5

La única solución que funcionó para mí fue crear otro proyecto de prueba. Luego, siguiendo los siguientes pasos:

  1. Haga clic derecho en el proyecto y vaya a Propiedades -> Web

  2. Debajo de la URL del proyecto en la sección Usar servidor web IIS local, copie la URL del proyecto (http: // localhost: 59002 /), esto es del proyecto de prueba.

  3. Navegue al proyecto que está dando este error. Haga clic derecho en el proyecto y vaya a Propiedades -> Web.

  4. Pegue la URL del proyecto en la sección Usar servidor web IIS local (URL copiada del proyecto de prueba). Cierre el proyecto de prueba y guárdelo.

  5. Elimine el proyecto de prueba y ejecute el proyecto que dio el error. Funciona después de eso ...

Tal vez no sea la mejor manera, pero era la única forma en que podía hacer que esto funcionara. Recibí este mensaje de error después de volver a cargar mi computadora portátil (disco duro bloqueado) y obtuve todos mis proyectos del servidor de donde estaban alojados.

Kerieks
fuente
Realmente no sé qué hice con mi solución, pero esta fue la única forma en que pude solucionarlo. Incluso intenté jugar con el comando netsh, eliminar la carpeta IISExpress, iniciar VS en modo administrador y nada más funcionó. No sé dónde más está asignada la url: port get, pero tomar la URL del proyecto de otro parecía la única solución para mí.
Sergio A.
5

Compartiendo esto para futuros lectores. La creación manual de un directorio virtual funcionó para mí.

  • Seleccionar proyecto en el explorador de soluciones
  • Presione Alt+Enter
  • Ir a la sección web
  • Haga clic en Crear directorio virtual
Mohammed Zameer
fuente
4

En mi caso, después de permitir una solicitud externa a mi sitio web de IIS Express y configurar el firewall de Windows para permitir iisexpress.exe, no puedo iniciarlo desde Visual Studio 2013. Todavía puedo iniciarlo con la línea de comandos, y sirve local y externo pide bien.

C:\Program Files (x86)\IIS Express>iisexpress /site:MyWebSiteName

Traté de crear una regla de firewall para permitir mi puerto, después de eso VS funcionó.

ciervo
fuente
3

Tuve el mismo problema con VS 2013 e incluso después de todos los intentos posibles no funcionaba. Mi problema fue resuelto por:

- In control panel (Program and Features) I found that all of the IIS related features were unchecked.I finally checked all of those and restarted my system.
- Then I started my VS 2013 as administrator and thats it everything
   worked fine then.

Al menos puedes intentarlo ya que funcionó para mí.

Saroj
fuente
3

Después de dos horas de búsqueda en la web, encontré mi solución en los siguientes pasos: cerrar Visual Studio, eliminar la carpeta .vs de su proyecto, abrir Visual Studio y volver a ejecutar el proyecto

eso es trabajo para mí pasar un buen rato

Ali Sadri
fuente
2

Tuvimos el mismo problema con nuestros sitios. Pudimos arreglar todo esto dentro de Visual Studio. Estamos utilizando 2012 Ultimate.

El problema subyacente que vimos fue que con SSL habilitado, por alguna razón, VS estaba asignando el mismo puerto para las URL estándar y seguras. Este problema parecía surgir cuando retiramos el código de TFS.

Para remediarlo, llevamos a cabo los siguientes pasos:

  1. Haga clic derecho en el proyecto y vaya a Propiedades -> Web
  2. Debajo de la URL del proyecto en la sección Usar servidor web IIS local , elimine la "s" de la URL y guarde. (Por ejemplo, vaya de https: // : 44301 a http: // : 44301. Esto permitirá que el siguiente paso funcione)
  3. En el Explorador de soluciones, seleccione el Proyecto y en la ventana Propiedades (presione F4 si no se muestra) cambie SSL Habilitado a Falso y luego nuevamente a Verdadero . Generará un nuevo puerto que es diferente de la URL estándar (en mi caso, tengo 44301 como mi SSL y 44305 como mi estándar)
  4. Vuelva a Propiedades -> Web y agregue la "s" a la URL del proyecto.
  5. F5 y montar!

Asegúrese de que la casilla de verificación para anular la URL raíz de la aplicación esté desmarcada.

JimmyV
fuente
2

verifique el firewall antivirus y permita el acceso de Visual Studio a la red. por ejemplo en nod32:

goto setting (f5) -> network->personal firewall->rules and zones

en el " zone and rule editor" clic " setup" y busque el vs 2010o 12o ... y permita el acceso a la red.

hadi ab
fuente
2

Después de deshabilitar el firewall, pude ejecutarlo sin ningún problema.

Mahaling Khubba
fuente
2

Me encontré con este error hoy. Ejecutando Win 8.1 y VS 2013. De repente, mis proyectos no pudieron ejecutarse más y recibí el mensaje "No se puede iniciar el servidor web IIS Express" y no recibí más información.

Después de un tiempo descubrí que todos los proyectos que IIS Express no podía iniciar estaban ejecutando .net 3.5. Los proyectos que ejecutan versiones posteriores comenzaron bien.

La solución para mí fue eliminar .net 3.5 (desde el panel de control -> activar / desactivar las características de Windows), reiniciar Windows y agregar .net 3.5 nuevamente.

fefferoni
fuente
2

Tuve el mismo problema, en mi caso simplemente limpié y luego reconstruí mi solución y funcionó para mí

RCanhestro
fuente
2

Bueno, ninguno de los pasos mencionados anteriormente funcionó para mí. En mi caso, mi applicationhost.configarchivo de alguna manera no tenía las siguientes dos líneas de código

 <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
    <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

Espero que esto pueda ayudar a alguién.

Anshuman Jasrotia
fuente
2

Antes de intentar cualquier otra cosa, asegúrese de 1. reiniciar Visual Studio (principalmente para actualizar las opciones residentes de memoria de los archivos) y 2. Reiniciar su sistema (principalmente para el bloqueo de archivos no válido). Si su problema es tan temporal o autocorregido, lo hará sin cambiar nada. Funcionó para mí con PC reiniciar. Además, si trabaja en un proyecto multiusuario, asegúrese de tener la última versión viable: es posible que otra persona haya ingresado algo no válido por error en, por ejemplo, el archivo del proyecto y se meta con su sistema sin ningún motivo. Si eso no funciona, entonces es probable que deba modificar algunas configuraciones que están bloqueadas, que faltan o que necesitan modificaciones; hay muchas propuestas sobre otras respuestas.

Stefanos Zilellis
fuente
1

Tuve un problema similar al ejecutar mi solución de VS2012:

Unable to launch the IIS Express Web server.  
The start URL specified is not valid. https://localhost:44301/

Tuve el proyecto incorrecto seleccionado como Proyecto de inicio. Hice que el proyecto Cloud fuera el inicio (haga clic derecho en proyecto -> Establecer como proyecto de inicio) y todo comenzó a funcionar bien.

scottndecker
fuente
También debería agregar que la URL de inicio debería configurarse, o configurarse en "Página actual" o "Página específica", al menos marcada. La mía se configuró en "No abra una página. Espere una solicitud de una aplicación externa" y tuve este error como resultado, además del problema del proyecto de inicio.
vapcguy
@Moumit, ¿votaste por esto? ¿Puedes explicar tu comentario?
scottndecker
1

La serie de artículos de Jason Shavers aquí http://jasonrshaver.com/?tag=/Client+Certificates explica exactamente cómo configurar la entrada del sitio applicationhost.config para permitir que la aplicación se ejecute en ssl o http estándar.

Una de las cosas que recomienda es poner dos entradas vinculantes para el sitio. Esto es lo que hice.

            <bindings>
                <binding protocol="http" bindingInformation="*:59945:localhost" />
                <binding protocol="https" bindingInformation="*:44300:localhost"/>
            </bindings>

También recomienda cambiar otras configuraciones también. Funcionó en dos de mis tres máquinas. Cada vez que se me indica que configure manualmente un sitio en el host de la aplicación, generalmente tiene que ver con los enlaces. (ejemplo usando el mismo puerto para múltiples aplicaciones web).

usuario1161391
fuente
1

Tuve el mismo problema después de instalar Visual Studio 2013 Update 3.
VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
Unable to launch the IIS Express Web server

Mi problema se resolvió siguiendo estos pasos:

1. Reparación Visual Studio 2013 Update 3
2. Inicie Developer Command Promptcomo administrador.
3. Escriba y devenv.exe /setupluego presione Intro

Mohammad Dayyan
fuente
1

Tuve el mismo problema. Había eliminado muchas carpetas en la C:/users/ruta para liberar espacio en mi máquina. Después de lo cual comencé a recibir este error.

Solo tuve que reiniciar mi máquina y todo funcionó bien.

Yasser Shaikh
fuente
1

Mi problema requería una solución triple:

  1. Elimine la carpeta IISExpress en su carpeta Documentos.
  2. Configure el proyecto web como su proyecto de inicio haciendo clic con el botón derecho y seleccione "Establecer como proyecto de inicio", o bien a través de las propiedades de su solución.
  3. Establezca la URL de inicio o establezca en "Página actual" o "Página específica". La mía se configuró en "No abra una página. Espere una solicitud de una aplicación externa" y tuve que cambiarla a "Página específica", que dejo en blanco para que vaya a la página de inicio de mi aplicación, antes de que lo haga. trabajo.
vapcguy
fuente
1

Mi problema finalmente se resolvió cuando miré la clave de registro de IIS Express:

HKEY_CURRENT_USER\Software\Microsoft\IISExpress

Tenía una entrada que CustomUserHomeapuntaba a Mis sitios web que causaba estragos.

AndyKenZ
fuente
1

Había configurado Conexión compartida a Internet en mi máquina para máquinas virtuales. Lo apagué y pude depurar en Visual Studio 2015 . Sin embargo, para depurar constantemente después de un reinicio, necesitaba configurar el servicio de Conexión compartida a Internet para que se inicie manualmente, a pesar de que ninguna de mis conexiones a Internet tenía la Conexión compartida a Internet habilitada.

Giles Roberts
fuente