ASP.NET 5 MVC: no se puede conectar al servidor web 'IIS Express'


190

Que estoy haciendo:

Eliminar applicationhost.config, ubicado en Documents\IISExpress\config, no cambia el mensaje de error. (También hay una IISExpresscarpeta en program filesyprogram files (x86) .)

Algo que noté y no sé si es un problema:

Archivo de referencia 'lib / jquery-validation / jquery.validate.js' no encontrado.

Tengo un vertedero con rawcap pero no noto mucho allí. Algo de lo que estaba allí:

"Framework": {"FrameworkName": "DNXCore, Version = v5.0", "FriendlyName": "DNX Core 5.0", "ShortName": "dnxcore50", "RedistListPath": null}

No noto ningún problema, pero tengo los datos de la red si eso puede ayudar a descubrir por qué no puedo conectarme al servidor web. Recibo un RST,ACKmensaje de inmediato, así que supongo que el puerto está cerrado y que sea lo que sea este servidor web, no se está configurando.

Más sobre este problema: error 800700c1 de / trace: error

He intentado:

  • eliminar applicationhost.config (y cambiar el número de puerto)
  • ejecutando visual studio como administrador
  • eliminar la carpeta IISExpress en Documentos (cambia el mensaje de error hasta que se reinstala la carpeta)
  • activando y desactivando SSL, copiando url en la casilla de inicio. (nota: no estoy usando ssl)
  • borrando todos los errores de sfc / scannow
  • a partir de iisexpress con la versión x86 y la versión de 64 bits


1
inténtalo cuando abras Visual Studio, haz clic derecho y
ábrelo

Estoy probando todas las sugerencias que la gente me da, incluso si lo he intentado antes.
Sarek

¿Puedes abrir un nuevo proyecto y comprobar si esto funciona? Reiniciar PC? Mover proyecto a otro directorio
Sebastian 506563

1
Gracias pero eso tampoco funcionó.
Sarek

Respuestas:


254

Después de instalar la Actualización 2 para Visual Studio 2015, comencé a recibir el mismo error. Intenté todo lo anterior sin suerte. Sin embargo, encontré una solución que me funciona:

  1. Elimine el archivo YourSolutionFolder \ .vs \ config \ applicationhost.config (nota: .vs es una carpeta oculta)
  2. Abra Visual Studio, haga clic con el botón derecho en el sitio web> Propiedades> pestaña Depuración> Configuración del servidor web> URL de la aplicación - cambie el número de puerto.

Hombre, mi error regresó, encontré esto también en otro sitio, pero sigue dando el maldito error. Cabreándome Ejecuté la consola web, pero eso no tiene un observador, por lo que puedo simplemente ctrl + s, actualizar.
René Sackers

Omg, funciona. Eliminé la carpeta IISExpress en mis documentos, luego eliminé ese archivo, luego comencé a recibir este error, pero la respuesta aceptada fue la solución: stackoverflow.com/questions/33166403/… y ahora está funcionando: |
René Sackers

3
Para mí fue.vs\config\<MyProject>\config\applicationhost.config
laggingreflex

2
¿Dónde ves web siteque necesitas hacer clic derecho?
CodyBugstein

14
Para el proyecto Net Core 2.2: después de una lucha MASIVA e intentando todo, desde eliminar la carpeta .vs, eliminar las configuraciones de IIS Express, cambiar los números de puerto, cambiar los enlaces y ejecutar VS como administrador. FINALMENTE solucioné el problema al 1. cerrar VS, 2. eliminar launchSettings.json3. apertura VS que se volvió a generar launchSettings.json. No era evidente que el archivo estuviera dañado o fuera incorrecto, ni siquiera cuando se modificó para causar un error.
Quinton Smith

189

Salga de VS y elimine el archivo (proyecto) .vs \ applicationhost.config. Reiniciar VS. Debería comenzar a funcionar.


19
Esto funcionó para mí en VS2017, sin tener que cambiar el puerto.
mlienau

44
Después de hacer esto por mí, era necesario ejecutar Visual Studio como administrador y funcionó, ¡gracias!
DigaoParceiro

55
Especialmente el EJECUTAR COMO ADMINISTRADOR es importante para mí. (aunque tengo Asp.net Core 2.0 VS2017.
Bart Mensfort

1
Eliminé toda la .vscarpeta y funcionó para mí, solo eso
FindOutIslamNow

9
Reiniciar VS2017 no se solucionó, pero reiniciar la computadora lo solucionó por mí. No fue necesario cambiar el puerto o eliminar la carpeta. Espero que ayude a los demás.
Tonmoy

32

Intenta usar un puerto diferente. Acabo de configurar un nuevo proyecto Core 1.0 RC1 y obtuve el mismo error.

  • Haga clic derecho en el proyecto web
  • Pestaña de depuración
  • Activar y desactivar SSL de nuevo, debería generar un nuevo puerto aleatorio
  • Copie la URL SSL y péguela en el cuadro Iniciar URL
  • Ejecutar el proyecto

Trabajó para mí (TM).

Respuesta de: https://stackoverflow.com/a/28650554/134761

ingrese la descripción de la imagen aquí


1
Funcionó pero solo cuando utilicé el puerto 60000. el puerto 6000 devolvió el error: puerto inseguro.
EKanadily

No funcionó en Visual Studio 2019, solo usó el mismo puerto cada vez.
EJoshuaS - Restablece a Monica el

@ EJoshuaS-ReinstateMonica Creo que esto ha cambiado mucho. Eche un vistazo a cómo Startupestá configurada su clase y qué appsettings.jsonarchivos tiene. También hay Properties\launchSettings.jsonque lanzar diferentes perfiles a nivel local. docs.microsoft.com/en-us/aspnet/core/fundamentals/… dejanstojanovic.net/aspnet/2018/december/…
angularsen

27

Me enfrenté a este problema en .net core 2.0 cuando actualicé el número de puerto de mi proyecto.

Pude resolver el problema en dos pasos:

  • PASO 1: BORRAR la carpeta .vs que está oculta dentro de la carpeta principal de la solución. (cierre Visual Studio antes de esto) y luego, cuando vuelva a iniciar Visual Studio, esta carpeta y archivo (applicationhost.config) dentro se creará automáticamente por Visual Studio.
  • PASO 2: Para proyectos de inicio múltiple , si aún enfrenta problemas, ejecute uno por uno el proyecto como inicio y luego ejecute como proyecto de inicio múltiple.

La solución funcionó. Gracias :) ¿Qué tal si BORRAMOS la carpeta .git también?
krunal.cp

24

Tuve este problema en .net core 2.1, visual studio versión 15.9.6. Cuando eliminé la carpeta .vs, volví a abrir Visual Studio y el problema seguía ahí. La solución que funcionó para mí a continuación:

  1. Eliminar la carpeta .vs (es una carpeta oculta).
  2. Reiniciar la computadora.

Otras soluciones:

  • Cierre Visual Studio, elimine las carpetas bin y obj de la carpeta del proyecto. Abra el proyecto y luego reconstruya la solución.
  • Intente ejecutar Visual Studio como administrador.
  • Solución limpia y luego reconstruir
  • 1) Solución limpia. 2) Salga de Visual Studio. 3) eliminar la carpeta .vs 4) Volver a abrir Visual Studio

Pude hacer esto cerrando solo Visual Studio, eliminando la carpeta .vs, indicando Visual Studio nuevamente.
Robert Bratton

Sí, funciona para algunos, no en mi caso. No tengo idea de por qué no funcionó. Lo único que hizo fue reiniciar mi computadora.
Daniaal

2
Consiguió esto después de una pantalla azul. Tuve que eliminar la carpeta .vs y reiniciar la computadora . Reiniciar el estudio visual no fue suficiente.
johnb

2
Mis pasos fueron comprimidos para: 1) Solución limpia. 2) Salga de Visual Studio. 3) eliminar carpeta
.vs

1
@samneric Gracias por eso, agregaré tu solución a la respuesta :)
Daniaal

13

Ejecute VisualStudio con privilegios de administrador y ejecute el proyecto. Luego cierre VisualStudio y todos los errores y vuelva a ejecutar VisualStudio con el usuario normal.

Esto lo hizo por mi.

Parece que IIS tiene que escribir algo en alguna configuración con privilegios de administrador (el puerto 80 no funcionó con el usuario normal pero el puerto 6767 funcionó bien).


55
Solo los permisos de administrador permiten que la aplicación se vincule a un número de puerto menor que 1024. Por eso 6767 funciona para usted.
Lex Li

12

Tuve el mismo problema, pude resolverlo cambiando el número de Puerto.

  1. Haga clic derecho en el proyecto y seleccione propiedades

  2. Vaya a la sección de depuración

  3. En Configuración del servidor web, cambie el puerto URL de la aplicación [solo aumente en uno :)]

ingrese la descripción de la imagen aquí


10

En mi caso, esa era otra aplicación que escuchaba en el mismo puerto al que IIS Express intentaba conectarse. Tengo que correr netstat -aopara ver el PID del proceso que utiliza el mismo puerto y la aplicación de apagado. En mi caso, la aplicación fue Viber.


10

La solución que funcionó para mí fue: Cerrar el proyecto VS En el Explorador de archivos, navegar hasta el proyecto y eliminar toda la carpeta ".vs" Reiniciar el proyecto Ejecutar como "Debug" funciona Aparentemente, tiene algo que ver con el "applicationhost" .archivo de configuración.

¡Disfrutar!


10

Muchos de estos respondidos no abordan completamente el problema en cuestión. El verdadero problema para mí fue que tenía dos enlaces usando el mismo puerto en mi archivo applicationhost.config Y NO había abierto el puerto a mi segundo enlace (no localhost) . VS le permitirá seguir ejecutándose en estas circunstancias, pero solo si está en modo administrador (de ahí todas las respuestas anteriores).

Básicamente, está creando dos instancias de IIS express de su aplicación en el mismo puerto, por lo que cambiar uno de los puertos en su archivo applicationhost.config le permitirá continuar. Sin embargo, hay dos archivos applicationhost.config diferentes. Deberá seleccionar el que tenga la IP y el puerto vinculantes que ve en las propiedades de su proyecto

ingrese la descripción de la imagen aquí.

Vaya a la carpeta donde puede ver la solución del proyecto y las carpetas del proyecto (muestre los elementos ocultos en el Explorador de archivos). Navegue a su carpeta .vs oculta -> carpeta "YourAppName" -> config. Debe contener la información de enlace que vio en las propiedades de su proyecto.

Ejemplo:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

Cambie uno de esos números de puerto a otro que no sea "7000" para que no esté tratando de usar el mismo puerto.

En mi caso, estoy usando una dirección 192 que no es una dirección de host local, por lo que necesito usar algunos comandos netsh para abrir ese puerto e ip up. Aquí hay un enlace que muestra cómo abrir puertos para IIS Express para permitir la conexión remota. Ejecutar como un usuario normal no funcionará a menos que ejecute los comandos de netsh enumerados.

Aquí están los comandos netsh:

  1. netsh http add urlacl url = http://192.168.1.42:58938/ user = everyone
  2. netsh advfirewall firewall agregar el nombre de la regla = "IISExpressWeb" dir = en el protocolo = tcp localport = 58938 perfil = private remoteip = localsubnet action = allow

Copie esos comandos y ejecútelos en cmd con privilegios de ADMIN y con SU dirección IP y número de puerto.


Esta fue la solución para mí, gracias
WeisserHund

8

Acabo de cambiar mi perfil de "IIS Express" a "MyProjectName" (que creo que está usando kestrel como el servidor http en lugar de IIS) y ahora funciona bien:

ingrese la descripción de la imagen aquí


Esta no es una solución, sino una solución alternativa. Su respuesta sugiere usar un servidor diferente, Kestrel, mientras que OP claramente está tratando de hacer que IIS-Express funcione.
Prólogo

2
Después de tres días de depilar el cabello, esta solución me ayudó. Gracias
Meir

7

PARA ACLARAR

Realmente muchas respuestas aquí son iguales y dicen algo como "Reiniciar y mágicamente funciona de nuevo".

Bueno, 9 de cada 10 veces las personas tienen este problema como el OP porque la DIRECCIÓN IP YA ESTÁ EN USO.

RESPONDER

Podría haber 2 direcciones IP que están en uso. Ambos se pueden encontrar por:

1) Hacer clic derecho en el proyecto de inicio

2) Haga clic en "Propiedades"

3) Haga clic en la pestaña "Depurar"

Aquí puede ver su "URL de la aplicación" y su "URL SSL".

  • Si su "URL de la aplicación" está en uso, simplemente cámbiela allí y guárdela y debería funcionar nuevamente.

  • Si su "URL SSL" está en uso, cierre VS, elimine el archivo "applicationhost.config" en la carpeta oculta .vs de su proyecto y abra VS nuevamente.


6

Pude alternar este error cambiando una sola cosa. En el launchSettings.jsonarchivo de mi proyecto de aplicación web ASP.Net Core 1.0 RC2 :

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:18177/",
      "sslPort": 0
    }
  },

a

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:18177/",
      "sslPort": 0
    }
  },

Había cambiado a https en un intento de ejecutar el proyecto usando ese protocolo. Aparentemente este no es el lugar para hacer ese cambio. Sospecho que está creando enlaces múltiples en el mismo puerto, y a IIS Express no le gusta eso.


Tuve que hacer esto para incrementar el número de puerto. mi publicación original estaba "atascada" y no tengo tiempo ahora para reiniciar o averiguar cómo solucionarlo
Simon_Weaver

6

Tuve este mismo problema, pero la forma en que lo arreglé fue yendo a applicationhost.config y eliminando un puerto que no fui agregado por mí (supongo que IIS Express) que colocó mi sitio de puerto específico en otro puerto.

Esto es lo que tenía el archivo de configuración para mis enlaces:

<bindings>
      <binding protocol="http" bindingInformation="*:54764:localhost" />
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Eliminé el primer elemento de enlaces ya que el único puerto que quería era 44360. Mi archivo de configuración ahora se ve así:

<bindings>
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Ahora no veo el error cuando depuro.

También noté que mi segunda API en mi proyecto tenía el puerto 80 también asignado, lo eliminé también.


5

elimine las carpetas bin y obj de la carpeta del proyecto y reconstruya.


Aunque una limpieza manual a menudo ayuda, no resolverá el problema en este caso, ya que el problema reside en el archivo applicationhost.config y probablemente se deba al intentar usar la misma dirección IP dos veces
MedievalCoder

5

¡Acabo de limpiar mi solución, luego la reconstruí y finalmente golpeé F5 y funcionó! Tan sencillo.


4

No pretendo entender completamente qué error de MS crea este problema, pero aquí hay otra solución potencial:

En el archivo .vs / config / applicationHost.config, busque la sección para <system.applicationHost><applicationPools>. Debajo de las piscinas, asegúrese de quemanagedRuntimeVersion valor atributo coincida con el valor que se encuentra en la configuración de IIS para el sistema (y / o la versión del marco .NET que está instalado).

Por ejemplo, puede encontrar (como lo hice) que el archivo generado tiene:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

En mi caso, reemplazarías esto con:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

Tenga en cuenta el reemplazo de "v4.0" a "v4.0.30319". Esto resolvió el problema.


Lo que parece estar sucediendo:

Creo que VS está generando un archivo applicationHost.config con versiones "predeterminadas" para .NET Framework, que puede no coincidir con la versión específica que está instalada / configurada en el sistema. Puede depurar / observar este problema rastreando la ejecución en Process Monitor y buscando la línea de comando para iisexpress.exe. La ejecución de este comando con un valor /trace:erroragregado genera un mensaje más informativo sobre un error al precargar el CLR con la versión v4.0. Esto es:

Iniciando IIS Express ...
Falló al intentar precargar CLR versión v4.0. hr = 80131700
Error al inicializar el W3WP_HOST hr = 80131700
Apagado del modelo de proceso llamado
No se puede iniciar iisexpress.


De todos modos, pensé que esto podría ser útil para otra persona, ya que es lo suficientemente común como para tener múltiples referencias en línea con mala información, y personalmente lo he encontrado algunas veces.


Ninguna de estas soluciones funcionó para mí. Si ha instalado Windows IIS predeterminado (que viene con sus ventanas) y tiene acceso a él, intente usarlo, eso resolvió mi problema, simplemente agregue un nuevo sitio web o una nueva aplicación allí y listo, de todos modos, es extraño que IIS Express no pueda abrir la página. Si necesita rastrearlo, simplemente adjúntelo a un proceso usando ctrl + alt + pteclas cortas y verifique Show process for all usersy seleccione w3wp.exe(a veces necesita actualizar el sitio web para encontrarlo w3wp.exe) y luego presione el Attachbotón.
Mohammad Musavi

3

Pruebe esto primero si estaba funcionando y de repente se detuvo:

  • Cerrar Visual Studio
  • Eliminar procesos iisexpress.exe
  • Reabrir Visual Studio

3

El mío ocurre tan pronto como agrego un nuevo enlace dentro de applicationhost.config, ejecutándose como administrador solucionó el problema.


3

Simplemente cierre el estudio visual y vuelva a abrir y ejecutar. Funcionó para mi.


3

Para mí, el problema era que otro proceso estaba usando el mismo puerto. (En mi caso, era Outlook el que usaba el mismo puerto que mi sitio y, por lo tanto, mi sitio no podía iniciarse)

Sí, puede cambiar el puerto local, pero si está ejecutando una API o algo que necesitan otras aplicaciones, no siempre desea hacer esto.

Para obtener una lista de qué aplicaciones están utilizando qué puerto abre CMD y escribe "netstat -aon" Obtendrá una lista de puertos. Encuentre el puerto que debe usar su sitio o el que desea usar y escriba / recuerde el PID.

Ahora abra el administrador de tareas y haga clic en la pestaña 'detalles'. Encuentre el proceso con su PID y finalícelo. Ahora debería poder iniciar IIS Express con ese puerto.


3

Pude resolver esto reiniciando mi computadora. Intenté algunas cosas sin éxito y finalmente me di por vencido y reinicié mi computadora. Ha estado funcionando bien ahora durante un par de días después de reiniciar. Probablemente el resultado de algún proceso que se colgó.


3

Para mí, fue una mezcla de seguir estas instrucciones :

Elimine .vs \ applicationhost.config de su aplicación web e intente nuevamente.

Y luego, quizás lo más importante, ejecutar Visual Studio con privilegios de administrador.


3

He añadido .UseUrls("https://localhost:<some port>/")a las Program.cs. ¡Esto pareció hacer el truco para mí!


2

Simplemente activé "Habilitar SSL". Esto resolvió mi problema.

  1. Haga clic derecho en el proyecto web
  2. Pestaña de depuración
  3. Activar Activar SSL "activado" (si está desactivado, que fue mi caso)

2

Acabo de encontrar el mismo problema y eliminé todos los procesos "iisexpress.exe" que aún se estaban ejecutando. Eso funcionó para mí!


2

Mi solución (para .net core 2.0) fue que me había olvidado de agregar el número de puerto en la aplicación Url, bajo iisExpress en launchSettings.json

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}

Cuando launchSettings.jsonVS lo genera o actualiza automáticamente, applicationUrldebería tenerlo /al final. Se puede encontrar más información en blog.lextudio.com/…
Lex Li

2

El problema puede deberse a que [√] Enabled SSLse seleccionó para su proyecto (consulte la Debugpestaña en la ventana de configuración del proyecto), pero Visual Studio decide ser tonto y configurar algo así http://localhost:32396. La razón por la que falla es porque 1. no lo es HTTPS, y 2. el certificado no es válido. Para forzarlo, debe usar un puerto en el rango 44300-44398.

Ver https://stackoverflow.com/a/24957146/1236397



1

Probar en cmd

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

y presione f5. No cambio puertos, borro archivos ni reinicio VS.


Se puede explicar que respondes un poco. Simplemente matar el proceso podría no ser la respuesta aquí. ¿Y después que?
Shiham
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.