web-dev-qa-db-fra.com

Pourquoi et comment réparer? IIS Express "Le port spécifié est en cours d'utilisation"

Nous savons qu'un numéro de port aléatoire est attribué à une application Web dans Visual Studio. Cela fonctionne bien sur le bureau de mon bureau. Mais lorsque je récupère le code sur mon ordinateur portable (à partir de VisualStudio.com) et que je lance l'application Web. J'ai reçu un message disant:

Le port spécifié est en cours d'utilisation

Le port 10360 est déjà utilisé par une autre application.

Recommandations

  1. Essayez de changer de port autre que 10360 et supérieur à 1024.
  2. Arrêtez l'application qui utilise le port 10360.

Je peux le réparer en utilisant Recommendation #1 en modifiant le port en un autre élément comme 13333. Mais je suis très curieux de savoir ce qui est arrivé au port 10360. Comment puis-je vérifier quelle application utilise le port 10360? Comment puis-je arrêter cette application?

57
Blaise

je résous le problème de cette façon ...

Fichier -> Ouvert -> Site Web ... enter image description here

Après cela, sélectionnez IIS local sous Site IIS Express supprimez le projet indésirable.

espérons que cette aide.

41
yean
  1. changez-le en solution (clic droit) -> propriété -> web languette
  2. Cliquez sur Créer un répertoire virtuel (devant la zone de texte de l'URL du projet).

IIS Express port change for fixing port in use

34
Iman Abidi

J'ai eu le même problème, mais aucun processus n'est apparu ni dans netstat ni dans resmon.

Pour moi, le problème a été de fermer toutes les fenêtres de navigateur ouvertes.

26
Clangon

Cela me hantait depuis plus d'un an!

Pour moi,

  • aucun site Web n'exécutait iin IIS Express
  • rien n'utilisait le port tel que déterminé en exécutant: netstat -ano sur la ligne de commande.

La solution était de courir

netsh http add iplisten ipaddress=::

à partir de la ligne de commande.

Happy days, et crédit à: James Bryant! https://developercommunity.visualstudio.com/content/problem/110767/specified-port-is-in-use.html

16
Liam Fleming

Vous recherchez netstat.

Ouvrez une commande administrative Shell et lancez

netstat -aob

Et cherchez le port 10360. Il vous montrera quel fichier exécutable a ouvert le port et quel PID rechercher dans le Gestionnaire des tâches. (En fait, lancez netstat -? dans un shell non privilégié d’abord, parce que je n’approuve pas la gestion aveugle de tout ce que vous ne comprenez pas, en particulier dans un contexte privilégié.)

Voici ce que font les commutateurs:

-a affiche toutes les connexions ou tous les ports ouverts, pas seulement les actifs - le port que vous souhaitez écouter est probablement à l’écoute, mais pas actif.

-o montre le PID propriétaire de la connexion ou du port afin que vous puissiez trouver le processus dans l'onglet Processus du gestionnaire de tâches. (Vous devrez peut-être ajouter la colonne PID dans le Gestionnaire des tâches. Affichage-> Sélectionner des colonnes)

-b montre le fichier binaire impliqué dans l’ouverture de la connexion ou du port. C'est celui qui nécessite un accès élevé.

15
user3448731
  1. Fermez le VS
    1. Recommencez - faites un clic droit et exécutez-le en tant qu'administrateur
    2. Exécutez votre projet à nouveau.
13
Mansi

L'exécution de Visual Studio en mode administratif a résolu mon problème.

4
Mujtaba Zaidi
  1. Supprimez le fichier .sln, si vous en avez un.
  2. Ouvrez le fichier C:\Utilisateurs\NN\Documents\IISExpress\config\applicationhost.config
  3. Localisez le site problématique dans configuration/system.applicationHost/sites et supprimez la section entière du site.
  4. "Open Web Site .." de Visual Studio et un nouveau port aléatoire sera attribué au projet.
4
Jonas Äppelgran

Si netstat ne montre rien, essayez un redémarrage.

Pour moi, rien n’apparaissait dans netstat pour mon port. J'ai essayé de fermer Google Chrome Windows comme @Clangon et @ J.T. Taylor suggéré, mais en vain.

En fin de compte, un redémarrage du système a fonctionné, donc je ne peux que supposer que quelque chose d'autre maintenait secrètement le port ouvert. Ou peut-être cela a-t-il pris plus de temps que je n'étais prêt à attendre que les ports soient libérés après Chrome arrêté).

4
Paul Stephenson

Pour moi, le navigateur Google Chrome était le processus qui utilisait le port. Même après avoir fermé Chrome, j’ai constaté que le processus persistait encore (j’autorise Chrome = pour "exécuter en arrière-plan" afin que je puisse recevoir les notifications du bureau.) Je suis allé dans le Gestionnaire des tâches et j'ai tué le processus de navigateur Chrome, puis j'ai démarré mon application Web, cela fonctionnait comme un charme .

2
J.T. Taylor

Visual studio 2015

  • Fermez tous les fichiers ouverts dans Visual Studio.
  • Fermez ensuite l'application et quittez Visual Studio.
  • Ouvrez Visual Studio et il devrait s'exécuter avec succès.

J'espère que ça aide.

2
saurav singh

Pour moi, fermez toutes les applications et redémarrez l'ordinateur.

Lorsque la fenêtre démarre, ouvrez d'abord Visual studio, puis ouvrez le navigateur et cliquez sur Exécuter (F5).

Maintenant ça marche. Je ne sais pas pourquoi.

2
OammieR

Ouvrez votre csproj avec par exemple Notepad ++ et faites défiler jusqu'à DevelopmentServerPort. Changez le en quelque chose d'autre tant que c'est au dessus de 1024 comme rekommended (donc par exemple 22312). Modifiez également le paramètre IISUrl en http: // localhost: 22312 / . Enregistrez vos modifications et redémarrez le projet.

2
K.Oleksiak

Dans mon cas, il n'y avait pas d'application utilisant le port spécifié et l'exécution élevée de Visual Studio n'aidait pas non plus.

Ce qui a fonctionné pour moi est de réinstaller IIS Express et que redémarrer l'ordinateur.

1
Mirhat

Lorsque le port xxxx est déjà utilisé, il existe toujours un PID (ID de processus) élaboré avec l'erreur. Il suffit d’aller dans le gestionnaire de tâches de la machine sur laquelle vous exécutez l’application, de cliquer sur les détails pour identifier l’autre application. Vous pouvez ensuite décider si vous souhaitez mettre fin à ce processus ou non.

1
Ken.Fukizi

cliquez sur la notification présente en bas de la barre des tâches si vous recevez l'erreur comme port utilisé, puis sélectionnez l'icône iiss cliquez avec le bouton droit de la souris puis cliquez sur quitter, cela fonctionne comme un charme pour moi

1
ashish Vicky

Pour moi, netstat a fait le tour de me montrer que Fiddler était en cours d'exécution, ce qui permettait de garder le port ouvert.

1
Tony V

J'ai eu la même erreur se présentant. Mon service Web était défini comme une application dans IIS et je l'ai corrigé par:

Cliquez avec le bouton droit de la souris sur mon projet WebService dans ma solution> Propriétés> Web> Sous "Serveurs", remplacez IIS Express par Local IIS (cela créera automatiquement une Répertoire virtuel qui est ce que vous voulez)

1
Cristian G

Le message d'erreur devrait vous indiquer quelle application utilise déjà le port. Dans mon cas, il s'agissait d'Explorer.exe. Il ne s'agissait donc que de redémarrer Explorer à partir du gestionnaire de tâches.

1
John M

Ouvrez le Gestionnaire des tâches et fermez simplement tous les processus de 'Magasin système IIS Express' et 'Processus de travail IIS Express' et réexécutez le projet.

Task Manager Process Details

1
SumairIrshad

Pour moi, il s’agissait d’une tâche orpheline de VBCSCompiler d’une exécution précédente, qui ne s’est pas arrêtée et qui gênait d’une manière ou d’une autre. Tuer cette tâche a résolu le problème.

https://developercommunity.visualstudio.com/content/problem/31482/vbcscompiler-does-not-shut-down.html

0
Thread Pitt

Juste pour ajouter à cela, la fonctionnalité complète IIS était activée pour l’une de mes machines) et cela semblait provoquer ce problème par intermittence.

Je me suis aussi plaint au hasard d'avoir besoin de droits d'administrateur pour lier des sites après un certain temps. J'imagine que cela visait l'intégralité du fichier IIS config (qui nécessite un administrateur car ce n'est pas un fichier par utilisateur). ).

Si vous êtes bloqué et que rien d'autre ne vous aide (et que vous ne voulez pas simplement choisir un autre port), vérifiez que vous l'avez supprimé, le cas échéant.

0
Dan Harris

Pour moi, netstat n'a pas montré que quelque chose utilisait déjà le port sélectionné.

La seule chose qui a fonctionné a été la suppression du dossier .vs dans le dossier de la solution.

0
John Leonard

FWIW, j'ai essayé des tonnes de ces options et je ne suis allé nulle part. Ensuite, j'ai réalisé que j'avais installé VMWare Player juste avant que le problème ne commence. Je l'ai désinstallé et cette erreur a disparu.

Je suis sûr qu'il y a un moyen de les faire coexister, mais je n'ai pas vraiment besoin de Player, alors je l'ai simplement supprimé. Si vous avez essayé toutes sortes de choses et que cela ne fonctionne pas, pensez à regarder les programmes que vous avez installés récemment (en particulier ceux qui traitent de cartes réseau?) Et voyez si cela vous mènera à quelque chose.

0
trademark

Pour moi, l'erreur "Le port spécifié est en cours d'utilisation" est généralement corrigée (arrêt bien travaillé) par arrêt le "Partage de connexion Internet ( ICS ) "(SharedAccess) et le service" Service de publication World Wide Web "(W3SVC).

Une fois que le projet/ISS Express est démarré, les services arrêtés peuvent être redémarrés sans problèmes.

Chaque fois que je reçois l’erreur le port (dans la gamme 50000) n’est définitivement pas utilisé (vérifié avec netstat & tcpview).

Ce serait bien si Microsoft faisait des tests d’intégration de Visual Studio/IIS Express avec HyperV et le comportement "normal" IIS Service OR donne des indications sur les plages de ports à utiliser pour VS/IIS Express (et les ports à éviter).

0
Michel