Comment résoudre le problème IIS dans Visual Studio?

J’ai tenté de faire fonctionner mon service Web via Visual Studio. J’ai rencontré un problème comme:

--------------------------- 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 --------------------------- 

J’ai vu le gestionnaire de tâches et j’ai constaté que PID 4 était utilisé par System et que sa description était NT Kernel & System. J’ai donc essayé d’arrêter le http service . Tous les services de dépendance ont cessé. Mais je suis confronté à un problème en arrêtant le service http comme

 The service is starting or stopping. Please try again later. 

J’ai donc essayé d’arrêter et de démarrer le service manuellement. Mais le processus de fin est désactivé. Il serait utile que quelqu’un puisse aider avec ce problème

Je vous remercie,

Priya

De https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/

Le code d’erreur 0x80070020 signifie ERROR_SHARING_VIOLATION , ce qui dans le cas d’IIS Express (ou IIS) signifie que le port qu’il tente d’écouter est utilisé par un autre processus.

Utilisez la commande netstat pour savoir quelle application utilise le port.

 netstat -ao | findstr  

Le paramètre a dit à netstat d’afficher toutes les connexions et tous les ports d’écoute.

Le paramètre o indique à netstat d’afficher l’ID de processus associé à la connexion.

L’exécution de la commande netstat ci-dessus produira des résultats tels que:

 C:\>netstat -ao | findstr 4026 TCP 12.0.0.1:4026 cs-pc:4026 LISTENING 9544 

Le dernier numéro affiché (9544 ici) est l’ID du processus.

J’ai eu le même problème. Je viens de redémarrer Visual Studio et cela a fonctionné.

J’ai eu le même problème. Comme mentionné précédemment par @Kautsky Lozano Une autre application utilise ce port.

Donc, [pour un système d’exploitation Windows] seulement:

  • Open Resource Monitor (Gestionnaire des tâches -> Performances -> Open Resource Monitor)
  • Cliquez sur l’onglet Réseau .
  • Et lors de la connexion TCP, recherchez l’application qui utilise le port local utilisé par IIS Express et fermez-le. (c’était firefox sur mon cas)

J’ai rencontré le même problème après avoir mis à niveau une solution de Visual Studio 2012 à 2015. J’étais venu ici et j’ai lancé netstat pour constater qu’aucune autre application n’utilisait les mêmes ports. Il s’est avéré que j’avais les mêmes sites avec les mêmes ports mappés dans applicationhost.config dans Users//Documents/IISExpress/config et le applicationhost.config dans le dossier .vs dans ma solution. Je dois noter que le problème n’a pas commencé juste après la mise à niveau non plus. Il commence juste à échouer systématiquement un matin. Un redémarrage en couple ne semblait pas non plus résoudre le problème.

La suppression des sites en conflit avec celui stocké dans mes documents et le redémarrage de Visual Studio ont résolu le problème.

Le premier passage le plus facile sans entrer dans la console de commande consiste à simplement fermer toutes les applications (y compris VS), puis lancer VS par lui-même et réessayer. Il y a probablement une autre application comme votre navigateur à l’origine du conflit. Dans mon cas, Chrome l’a provoqué et a été résolu lors de la fermeture et du redémarrage de VS. J’ai ouvert Chrome à nouveau et tout allait bien.

Les choses de netstat ci-dessus sont utiles, mais pour moi, c’est seulement si vous ne pouvez pas faire ce que je propose.

Une autre application utilise ce port. Cela pourrait vous aider

J’ai eu ce problème lors de la mise à niveau d’un projet MVC . J’ai copié sur le fichier .csproj-MVC plus récent sur mon fichier Ce que j’ai omis de prendre en compte est le numéro de port existant dans l’ancien fichier .csproj. Le nouveau projet avait un nouveau numéro de port, mais partageait le nom du projet / de l’assemblage. Cela suffisait à faire perdre la raison à IIS Express et à lancer cette exception.

Il suffisait de creuser l’ancien numéro de port et de modifier l’URL d’IIS Express pour l’inclure dans les parameters du projet.

Allez dans Propriétés du projet Web >> Web >> URL du projet >> Modifier le port, par exemple: http: // localhost: 22345 / => http: // localhost: 22346 / Hope this help!

J’ai déjà essayé ce qui suit:

  • Redémarrage de Visual Studio
  • Vérifiez tous les ports disponibles susceptibles d’écouter mon numéro spécifique, mais les résultats renvoyés sont toujours nuls. Aucun processus n’écoute dans mon port.
  • J’ai également essayé d’utiliser ceci mais aucun résultat.

    netstat -aon | trouver “: 80”

  • J’ai aussi essayé d’utiliser mais aussi de retourner des résultats.

    netstat -ao | trouverstr

Donc ce que j’ai fait est de supprimer ce ” Microsoft.VsHub.Server.HttpHostx64.exe ” puis mon projet a démarré et lancé avec succès dans le navigateur. L’erreur a été corrigée. Je ne sais pas pourquoi mais ça marche.

Voici la capture d’écran:

entrer la description de l'image ici

pour résumer toutes les réponses. Il y a 2 solutions. Les deux ont travaillé pour moi. – Solution n ° 1 Tuez l’application qui utilise le même port. – Solution n ° 2 Configurez IIS Express pour utiliser un port différent pour votre projet.

Solution n ° 1 (en supposant que le port dans le message d’erreur était 443) Exécuter dans la ligne de commande:

 netstat -ao | findstr 443 

il retourne: TCP 0.0.0.0:443 pe01:0 LISTENING 2904 Le dernier numéro (grâce à @ chris-schiffhauer) est le PID à tuer. Accédez au gestionnaire de tâches -> Processus -> [Afficher les processus de tous les utilisateurs], supprimez un processus avec PID = 2904. Dans mon cas, c’était l’hôte VmWare.

Solution n ° 2 (Suppose que le message était: Impossible d’enregistrer l’URL ” http: // localhost: 433 / ” pour le site “MyProject.Website0” … ). Ouvrez le fichier suivant dans verrezPad ++: C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config Trouvez une ligne contenant:

    

Modifiez 433 en autre chose, par exemple 4330 ou supprimez la conflit.