Intenté ejecutar mi servicio web a través de Visual Studio. Me enfrenté a un problema como:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.
Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)
---------------------------
OK
---------------------------
Vi el administrador de tareas y descubrí que el sistema usa PID 4 y su descripción es NT Kernel & System.
. Intenté detener el archivo http service
. Todos los servicios de dependencia se detuvieron. Pero estoy enfrentando un problema al detener el servicio http como
The service is starting or stopping. Please try again later.
Entonces, intenté detener e iniciar el servicio manualmente. Pero el proceso Finalizar está desactivado. Sería útil si alguien pudiera ayudar con este problema
visual-studio
iis-express
Priya
fuente
fuente
Respuestas:
De https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/
El código de error
0x80070020
significaERROR_SHARING_VIOLATION
que, en el caso de IIS Express (o IIS), significa que el puerto en el que está intentando escuchar está siendo utilizado por otro proceso.Utilice el
netstat
comando para averiguar qué aplicación está usando el puerto.El
a
parámetro le dice a netstat que muestre todas las conexiones y puertos de escucha.El
o
parámetro le dice a netstat que muestre el ID de proceso asociado con la conexión.Ejecutar el comando netstat anterior producirá resultados como:
El último número que se muestra (9544 aquí) es el ID del proceso.
fuente
TASKKILL /PID 2756 /F
reemplazar2756
con su ID de proceso-n
conmutador: utiliza una salida "numérica", lo que significa que no pierde tiempo consultando el DNS para resolver las direcciones IP en nombres de host.Tuve un problema similar al intentar ejecutar un proyecto desde Visual Studio 2019 en Windows 10. La aplicación no se pudo iniciar porque aparentemente otro proceso estaba usando el puerto. Sin embargo, el
netstat
comando mostró que el puerto no estaba siendo utilizado por ninguna aplicación.Después de pasar 2 días buscando en Google, encontré una solución que funcionó para mí. El puerto que estaba tratando de usar estaba en el rango de puertos excluidos que puede ver ejecutando el comando:
Los culpables que reservaron estos puertos en mi caso fueron Docker para Windows e Hyper-V
La solución
Desinstalé Docker (ya que no lo necesitaba) y deshabilité Hyper-V. Para deshabilitar Hyper-V: Vaya a: Panel de control-> Programas y características-> Activar o desactivar las funciones de Windows. Desmarque Hyper-V y reinicie la computadora.
Después del reinicio del comando
netsh interface ipv4 show excludedportrange protocol=tcp
no mostró puertos reservados.Luego agregué el puerto para mi aplicación al rango de puertos excluidos ejecutando el siguiente comando desde una línea de comando elevada:
Luego volví a habilitar Hyper-V (Docker se puede reinstalar si es necesario) y reinicié la computadora nuevamente.
Hyper-V ahora reservó sus puertos sin interferir con el puerto utilizado por mi aplicación: Rangos de puertos reservados
fuente
Yo tuve el mismo problema. Acabo de reiniciar Visual Studio y funcionó.
fuente
Tuve el mismo problema. Como @Kautsky Lozano menciona arriba, Otra aplicación está usando ese puerto.
Entonces [para un sistema operativo Windows] simplemente:
fuente
Me encontré con el mismo problema después de actualizar una solución de Visual Studio 2012 a 2015. Llegué aquí y corrí
netstat
solo para descubrir que ninguna otra aplicación estaba usando los mismos puertos. Resulta que tenía los mismos sitios con los mismos puertos asignados en elapplicationhost.config
enUsers/<username>/Documents/IISExpress/config
y elapplicationhost.config
de la.vs
carpeta dentro de mi solución. Debo señalar que el problema tampoco comenzó inmediatamente después de la actualización. Simplemente comienza a fallar constantemente una mañana. Un par de reinicios tampoco parecieron resolver el problema.Eliminar los sitios en conflicto del almacenado en mis Documentos y reiniciar Visual Studio resolvió el problema.
fuente
applicationhost.config
está en la.vs\config
carpeta debajo de la carpeta de su solución.Si netstat no muestra nada ya usando el puerto
netstat -ano | findstr <your port number>
El puerto puede estar excluido, pruebe este comando para ver si el rango está bloqueado por algo más:
netsh interface ipv4 show excludedportrange protocol=tcp
Puede intentar desbloquear el rango desde el puerto de inicio para varios puertos (necesita el símbolo del sistema con el administrador):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
Para mí, no pude desbloquearlos, solo obtuve "Acceso denegado", así que terminé teniendo que elegir otro puerto para mi sitio.
fuente
Otra aplicación está usando ese puerto. Esto podría ayudarte
fuente
Acabo de tener este problema a pesar de que netstat no mostró ningún conflicto.
Lo siguiente me lo arregló:
fuente
Tuve este problema al actualizar un proyecto MVC . Copié el nuevo MVC .csproj sobre mi archivo .csproj existente y luego volví a trabajar en un proyecto completamente funcional. Lo que no tuve en cuenta es el número de puerto existente en el antiguo .csproj. El nuevo proyecto tenía un nuevo número de puerto, pero compartía el nombre del proyecto / ensamblado. Eso fue suficiente para hacer que IIS Express perdiera la cabeza y lanzara esta excepción.
Basta con extraer el número de puerto antiguo de git y cambiar la URL de IIS Express para incluirlo en la configuración del proyecto para solucionarlo.
fuente
El primer paso más fácil sin ingresar a la consola de comandos es cerrar todas las aplicaciones (incluido VS), luego iniciar VS por sí mismo e intentarlo nuevamente. Es probable que haya otra aplicación como su navegador causando el conflicto. En mi caso Chrome lo causó y se solucionó al apagar todo y reiniciar VS. Abrí Chrome nuevamente y todo estuvo bien.
Las cosas de netstat anteriores son útiles, pero para mí eso es solo si no puedes hacer lo que estoy sugiriendo.
fuente
para resumir todas las respuestas. Hay 2 soluciones. Ambos trabajaron para mí. - Solución n. ° 1 Elimine la aplicación que usa el mismo puerto. - Solución # 2 Configure IIS Express para usar un puerto diferente para su proyecto.
Solución # 1 (suponiendo que el puerto en el mensaje de error fuera 443) Ejecute en la línea de comando:
devuelve:
TCP 0.0.0.0:443 pe01:0 LISTENING 2904
El último número (gracias a @ chris-schiffhauer) es PID para matar. Vaya al Administrador de tareas -> Procesos -> [Mostrar procesos de todos los usuarios], elimine un proceso con PID = 2904. En mi caso, fue el host de VmWare.Solución # 2 (Suponiendo que el mensaje fuera: No se pudo registrar la URL " http: // localhost: 433 / " para el sitio "MyProject.Website0" ... ). Abra el siguiente archivo en el bloc de notas ++:
C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config
Busque en él una línea que contenga:Cambie
433
a otra cosa, como4330
o elimine la<binding.../>
etiqueta en conflicto .fuente
En mi caso, hacer lo siguiente funcionó:
Cuando reinicié Visual Studio, asignó al proyecto un número de puerto completamente nuevo y funcionó perfectamente
fuente
Los números de puerto no coinciden
En mi caso, el problema estaba en mis Bindings Tags que se encuentran en el archivo de configuración en .vs debajo de mi carpeta de soluciones, los números de puerto no coincidían. Las fijaciones eran las siguientes
Y en mi configuración tenía la URL configurada como
http://localhost:1943/
Entonces, lo que hice fue eliminar el enlace interno y ejecutar mi aplicación web, luego generé un nuevo enlace con un número diferente, luego copié el nuevo puerto generado en mi configuración, luego el error desapareció.
fuente
Después de actualizar Windows 10 y / o Visual Studio 16+, puede suceder debido a un error interno que IISExpress no puede registrar ningún sitio web de desarrollo porque ya no acepta
localhost
conexiones.Para solucionar el problema, solo tiene que volver a registrar el enlace. Para hacerlo, ejecute desde un shell administrativo el siguiente comando:
fuente
Vaya a Propiedades del proyecto web >> Web >> Url del proyecto >> Cambiar puerto, es decir: http: // localhost: 22345 / => http: // localhost: 22346 / ¡ Espero que esto ayude!
fuente
Yo era capaz de arreglar este problema mediante la eliminación de todo, desde
<site>
que</site>
las etiquetas deUsers/<username>/Documents/IISExpress/config/applicatiohost.config
expedientefuente
Habiendo desperdiciado medio día tratando de solucionar este mismo problema, sentí que debería agregar la solución que finalmente funcionó para mí.
TL; DR Si
netstat
indica que el problema no está en uso, pruebe algunos otros en un rango totalmente diferenteMe he encontrado con este problema antes, pero generalmente encuentro que reiniciar Visual Studio, cambiar los puertos (incrementar en 1) o reiniciar hacen el truco. Sin embargo, en esta ocasión nada de esto ayudó, y
netstat
no encontró un proceso conflictivo. Incluso reinstalé IIS y Visual Studio y eliminé varios otros programas que sospechaba que podrían estar interfiriendo. Parecía que IIS intentaba lanzar varias instancias del mismo sitio.Finalmente intenté correr
netstat
sinfindstr
. Analicé visualmente la lista de puertos activos y noté que, aunque los que había probado no estaban en la lista, había algunos procesos que usaban puertos en un rango similar. Así que, en cambio, busqué un rango que fuera gratuito, elegí un número de puerto y que ahora parece estar funcionando.Me encantaría saber si alguien puede explicar por qué esto podría haber funcionado.
fuente
Me encontré con este problema en Visual Studio 2019 hoy y pasé 3 horas antes de finalmente resolver el problema. Visual Studio usa 2 archivos para rastrear el número de puerto SSL, por lo que debe corregir ambos y debe corregir ambos mientras Visual Studio está cerrado. Los dos archivos son el archivo applicationhost.config que se encuentra en la carpeta .vs \ ??? \ config de su solución; y también la carpeta .csproj.user de su proyecto web. Edite ambos archivos y elimine las configuraciones ofensivas. Quizás incluso simplemente elimine ambos archivos. Luego, vuelva a abrir su aplicación en Visual Studio. ¡Buena suerte!
fuente
Funcionó para mí.
fuente
Seguí las instrucciones de @ Zoti y usé Resource Monitor para encontrar el puerto en cuestión.
Resulta que a Outlook se le había asignado al azar el puerto para su canal de comunicaciones. Siendo la moraleja de la historia, podría ser absolutamente cualquier cosa.
fuente
El motivo de este error es que le dio un número de puerto incorrecto a su aplicación.
use el puerto cercano al número 8080, es decir:
para cambiar el puerto para su aplicación en visual-Studio
fuente
Ya intenté lo siguiente:
También intenté usar esto pero cero resultados.
netstat -aon | buscar ": 80"
También intenté usar pero también devolví cero resultados.
netstat -ao | Findstr
Entonces, lo que hice fue eliminar este " Microsoft.VsHub.Server.HttpHostx64.exe " y luego mi proyecto se inició con éxito y se lanzó en el navegador. Se solucionó el error. No estoy seguro de por qué, pero funciona.
Aquí está la captura de pantalla:
fuente
Tuve el mismo problema, pero se resolvió cuando reinicié usando privilegios de administrador. (Podría haber sido solo el reinicio)
fuente
Tuve el mismo problema hoy, y nada de lo que encontré en Internet funcionó. He estado usando el puerto 2057 durante años, pero de repente ya no funcionó. Cambiarlo a otro número bajo como 2058 dio el mismo mensaje de error, pero cuando lo cambié a 20057, todo volvió a funcionar. Quizás algo cambió con la forma en que se manejan los números de puerto más bajos.
fuente