Wir wissen, dass einer Webanwendung in Visual Studio eine zufällige Portnummer zugewiesen ist. Es funktioniert gut in meinem Office-Desktop. Aber wenn ich den Code auf meinen Laptop (von VisualStudio.com) ziehe und die Web-App starte. Ich bekam eine Nachricht und sagte:
Der angegebene Port wird verwendet
Port 10360 wird bereits von einer anderen Anwendung verwendet.
Empfehlungen
- Versuchen Sie, auf einen anderen Port als 10360 und höher als 1024 umzuschalten.
- Beenden Sie die Anwendung, die Port 10360 verwendet.
Ich kann Recommendation #1
das Problem beheben, indem ich den Port in etwas anderes wie 13333 ändere. Aber ich bin sehr gespannt, was mit Port 10360 passiert ist. Wie kann ich überprüfen, welche Anwendung Port 10360 verwendet? Wie kann ich diese Anwendung stoppen?
visual-studio-2013
iis-express
Blaise
quelle
quelle
Antworten:
Ich löse das Problem auf diese Weise ...
Datei -> Öffnen -> Website ...
Wählen Sie danach Lokale IIS unter IIS Express Site und entfernen Sie das unerwünschte Projekt.
Ich hoffe das hilft.
quelle
quelle
Ich hatte das gleiche Problem, aber weder in netstat noch in resmon wurde ein Prozess angezeigt.
Was das Problem für mich löste, war das Schließen aller geöffneten Browserfenster.
quelle
Das hat mich über ein Jahr lang verfolgt!
Für mich,
netstat -ano
in der Befehlszeile.Die Lösung war zu laufen
netsh http add iplisten ipaddress=::
von der Kommandozeile.
Glückliche Tage und Dank an: James Bryant! https://developercommunity.visualstudio.com/content/problem/110767/specified-port-is-in-use.html
quelle
Ich hatte ein ähnliches Problem beim Ausführen von Visual Studio 2019 unter Windows 10. Einige Lösungen, die für andere funktionierten, schienen Folgendes zu umfassen:
Leider funktionierte keine dieser Lösungen für mich. Die Zuweisung einer anderen Portnummer funktionierte, war jedoch keine akzeptable Lösung, da es wichtig war, dass meine Anwendung auf einem bestimmten Port ausgeführt wurde.
Die Lösung
Zuerst habe ich den Befehl ausgeführt:
von einem erhöhten Befehlszeilenprozess. Dies löste den anfänglichen Fehler. Beim Versuch, die Anwendung auszuführen, wurde nicht mehr der Fehler "Port in Verwendung" angezeigt. Stattdessen wurde jetzt ein Fehler angezeigt, der besagte, dass die Anwendung nicht an den Port binden konnte, da Administratorrechte erforderlich waren. (obwohl ich Visual Studio als Administrator ausgeführt habe)
Der zweite Fehler wurde durch Hyper-V verursacht, das dem Port-Ausschlussbereich Ports hinzufügt. Der von meiner Anwendung verwendete Port befand sich in einem dieser Ausschlussbereiche. Sie können diese Ports anzeigen, indem Sie den folgenden Befehl ausführen:
netsh interface ipv4 show excludedportrange protocol=tcp
So lösen Sie diesen zweiten Fehler:
netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
Von hier aus hat alles perfekt funktioniert.
quelle
netsh interface ipv4 show excludedportrange protocol=tcp
ich zumindest einen neuen Port für das Projekt auswählen.Du suchst
netstat
.Öffnen Sie eine administrative Befehlsshell und führen Sie sie aus
netstat -aob
Suchen Sie nach Port 10360. Es zeigt Ihnen, welche ausführbare Datei den Port geöffnet hat und welche PID Sie im Task-Manager nachschlagen müssen. (
netstat -?
Führen Sie zunächst eine nicht privilegierte Shell aus, da ich es nicht gutheiße, blind etwas auszuführen , was Sie nicht verstehen, insbesondere in einem privilegierten Kontext.)Folgendes tun die Schalter:
-a
zeigt alle Verbindungen oder offenen Ports an, nicht nur aktive - der gewünschte Port lauscht wahrscheinlich und ist nicht aktiv.-o
Zeigt die PID der Verbindung oder des Ports an, sodass Sie den Prozess auf der Registerkarte Prozesse des Task-Managers finden können. (Möglicherweise müssen Sie die PID-Spalte im Task-Manager hinzufügen. Ansicht-> Spalten auswählen)-b
Zeigt die Binärdatei an, die beim Öffnen der Verbindung oder des Ports beteiligt ist. Dies ist derjenige, der erhöhten Zugriff erfordert.quelle
PID
die Bewerbung. Vielen Dank.netstat -aob | findstr '10360'
quelle
EINFACHE LÖSUNG, DIE FÜR MICH ARBEITET HAT: ( Dank an die Kombination der Antworten anderer)
Überprüfen Sie den Bereich für blockierte Ports in CMD (admin).
Öffnen Sie Visual Studio und navigieren Sie zu> Projekt> Eigenschaften> Web> Server> Projekt-URL
Verwenden Sie den nicht blockierten Port.
Starten Sie Visual Studio neu (falls erforderlich)
Trinken Sie einen Kaffee und teilen Sie die Liebe. (erforderlich) :)
quelle
quelle
Wenn netstat nichts anzeigt, versuchen Sie einen Neustart.
Für mich ist in netstat nichts für meinen Hafen erschienen. Ich habe versucht, Google Chrome-Browserfenster zu schließen, wie von @Clangon und @JT Taylor vorgeschlagen, aber ohne Erfolg.
Am Ende hat jedoch ein Systemneustart funktioniert, sodass ich nur davon ausgehen kann, dass etwas anderes den Port heimlich offen gehalten hat. Oder vielleicht hat es nur länger gedauert, als ich bereit war zu warten, bis die Ports nach dem Herunterfahren von Chrome freigegeben wurden.
quelle
Das Ausführen von Visual Studio im Verwaltungsmodus hat mein Problem gelöst
quelle
Öffnen Sie den Task-Manager und schließen Sie einfach alle Prozesse von 'IIS Express System Tray' und 'IIS Express Worker Process' und führen Sie das Projekt erneut aus
quelle
Visual Studio 2015
Ich hoffe das hilft.
quelle
netstat hat nichts angezeigt, was den Port bereits verwendet hat
netstat -ano | findstr <your port number>
zeigte mir nichts. Ich habe mit diesem Befehl herausgefunden, dass der Port ausgeschlossen wurde, um zu sehen, welche Bereiche von etwas anderem reserviert werden:netsh interface ipv4 show excludedportrange protocol=tcp
Sie können versuchen, den Bereich für eine Reihe von Ports vom Startport freizugeben (erforderliche Eingabeaufforderung mit Administrator erforderlich):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
In meinem Fall konnte ich den Bereich jedoch nicht entsperren. Ich habe nur "Zugriff verweigert" erhalten, sodass ich einen anderen Port für meine Site auswählen musste.
Meine ursprüngliche Lösung: Das einzige, was funktioniert hat, war das Löschen des .vs-Ordners im Lösungsordner. (Ich habe seitdem festgestellt, dass Sie stattdessen einfach die .vs / config / applicationhost.config löschen können, um zu vermeiden, dass so viele Einstellungen verloren gehen.)
quelle
Für mich war der Google Chrome-Browser der Prozess, der den Port verwendete. Selbst nachdem ich Chrome geschlossen hatte, stellte ich fest, dass der Prozess weiterhin bestand (ich erlaube Chrome, "im Hintergrund ausgeführt" zu werden, damit ich Desktop-Benachrichtigungen erhalten kann). Ich ging in den Task-Manager, beendete den Chrome-Browserprozess und startete dann meine Webanwendung. Es funktionierte wie ein Zauber.
quelle
Schließen Sie für mich alle Anwendungen und starten Sie den Computer neu.
Wenn das Fenster gestartet wird, öffnen Sie zuerst Visual Studio, öffnen Sie dann den Browser und klicken Sie auf Ausführen (F5).
Jetzt funktioniert es. Ich weiß nicht warum.
quelle
Öffnen Sie Ihr csproj beispielsweise mit Notepad ++ und scrollen Sie nach unten zu DevelopmentServerPort. Ändern Sie es in etwas anderes, solange es über 1024 liegt, wie empfohlen (wie zum Beispiel 22312). Ändern Sie auch die IISUrl in http: // localhost: 22312 / . Speichern Sie Ihre Änderungen und starten Sie das Projekt neu.
quelle
In meinem Fall gab es keine Anwendung, die den angegebenen Port verwendete, und die erhöhte Ausführung von Visual Studio half auch nicht.
Was für mich funktioniert hat, ist, IIS Express neu zu installieren und dann den Computer neu zu starten.
quelle
Für mich war es eine verwaiste VBCSCompiler- Aufgabe aus einem früheren Lauf, die nicht heruntergefahren wurde und irgendwie störte. Das Töten dieser Aufgabe löste es.
https://developercommunity.visualstudio.com/content/problem/31482/vbcscompiler-does-not-shut-down.html
quelle
Für mich ist die "Der angegebene Port ist in Verwendung" Fehler in der Regel (auch tatsächlich gearbeitet arround) befestigt ist , durch Anhalten des "Internet Connection Sharing ( ICS )" (Sharedaccess ) und das "World Wide Web Publishing Service" ( W3SVC ) -Dienst.
Nach dem Start des Projekts / ISS Express können die gestoppten Dienste ohne Probleme erneut gestartet werden.
Immer wenn ich den Fehler erhalte, wird der Port (im 50000-Bereich) definitiv nicht verwendet (überprüft mit netstat & tcpview).
Es wäre schön, wenn Microsoft einige Integrationstests von Visual Studio / IIS Express zusammen mit HyperV und dem "normalen" IIS-Dienst durchführen würde ODER eine Anleitung geben würde, welche Portbereiche für VS / IIS Express verwendet werden sollen (und welche Ports vermieden werden sollen).
quelle
Sie müssen diesen Parameter konfigurieren, indem Sie an der administrativen Eingabeaufforderung Folgendes ausführen:
quelle
Für mich hat netstat den Trick getan, um mir zu zeigen, dass Fiddler lief, was den Hafen offen hielt.
quelle
Klicken Sie auf die Benachrichtigung unten in der Taskleiste, wenn Sie den fehlerhaften verwendeten Port erhalten. Wählen Sie dann das iiss-Symbol aus, klicken Sie mit der rechten Maustaste und klicken Sie auf Beenden. Es funktioniert wie ein Zauber für mich
quelle
Die Fehlermeldung sollte Ihnen mitteilen, welche Anwendung den Port bereits verwendet - in meinem Fall explorer.exe, also nur ein Neustart des Explorers über den Task-Manager.
quelle
Ich hatte den gleichen Fehler beim Auftauchen. Ich hatte meinen Webdienst als Anwendung in IIS eingerichtet und habe ihn behoben durch:
Klicken Sie mit der rechten Maustaste auf mein WebService-Projekt in meiner Lösung> Eigenschaften> Web> Wechseln Sie unter "Server" von IIS Express zu lokalem IIS (es wird automatisch ein virtuelles Verzeichnis erstellt, das Ihren Wünschen entspricht).
quelle
Wenn Port xxxx bereits verwendet wird, wird immer eine PID (Prozess-ID) mit dem Fehler erstellt. Gehen Sie einfach zum Task-Manager auf dem Computer, auf dem Sie die Anwendung ausführen, klicken Sie auf Details, und Sie werden feststellen, um welche andere Anwendung es sich handelt. Sie können dann entscheiden, ob Sie diesen Prozess beenden möchten oder nicht
quelle
Um das noch zu ergänzen, hatte ich die vollständige IIS-Funktion für einen meiner Computer aktiviert und es schien, dass dies zeitweise passierte.
Ich habe auch zufällige Beschwerden darüber erhalten, dass nach einer Weile Administratorrechte zum Binden von Websites erforderlich sind. Ich gehe davon aus, dass es sich irgendwie um die vollständige IIS-Konfiguration handelt (für die ein Administrator erforderlich ist, da es sich nicht um eine Datei pro Benutzer handelt).
Wenn Sie nicht weiterkommen und nichts anderes hilft (und Sie nicht einfach einen anderen Port auswählen möchten), überprüfen Sie, ob Sie diesen entfernt haben, falls vorhanden.
quelle
FWIW, ich habe Tonnen dieser Optionen ausprobiert und bin nicht weitergekommen. Dann wurde mir klar, dass ich VMWare Player installiert hatte, kurz bevor das Problem begann. Ich habe es deinstalliert und dieser Fehler ist verschwunden.
Ich bin mir sicher, dass es eine Möglichkeit gibt, sie koexistieren zu lassen, aber ich brauche Player nicht wirklich, also habe ich ihn einfach entfernt. Wenn Sie alle möglichen Dinge ausprobiert haben und es nicht funktioniert, sollten Sie die kürzlich installierten Programme (insbesondere die, die sich mit Netzwerkadaptern befassen?) Durchsuchen und prüfen, ob Sie dadurch irgendwohin gelangen.
quelle
Wählen Sie in Visual Studio 2017 Projekt / Eigenschaften und dann die Option Web. Klicken Sie im Abschnitt IIS neben der Standard-Projekt-URL auf Virtuelles Verzeichnis erstellen. Dies löste das Problem für mich. Ich denke, in meinem Fall war das Standardprojekt Virtual Directory nach einer Debugging-Sitzung auf irgendeine Weise beschädigt worden.
quelle
Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:
Führen Sie dann den Befehl netsh http add iplisten ipaddress = :: aus
Nach dem Ausführen des Projekts
quelle