Wiemy, że do aplikacji internetowej w programie Visual Studio przypisany jest losowy numer portu. Działa dobrze na moim biurku. Ale kiedy ściągam kod na laptopa (z VisualStudio.com) i uruchamiam aplikację internetową. Dostałem wiadomość mówiącą:
Określony port jest używany
Port 10360 jest już używany przez inną aplikację.
Zalecenia
- Spróbuj przełączyć się na port inny niż 10360 i wyższy niż 1024.
- Zatrzymaj aplikację korzystającą z portu 10360.
Mogę to naprawić, Recommendation #1
zmieniając port na inny, np. 13333. Ale jestem bardzo ciekawy, co się stało z portem 10360. Jak mogę sprawdzić, która aplikacja używa portu 10360? Jak mogę zatrzymać tę aplikację?
visual-studio-2013
iis-express
Blaise
źródło
źródło
Odpowiedzi:
rozwiązuję problem w ten sposób ...
Plik -> Otwórz -> Witryna sieci Web ...
Następnie wybierz Lokalne IIS w witrynie IIS Express i usuń niechciany projekt.
Mam nadzieję, że to pomoże.
źródło
źródło
Miałem podobny problem podczas uruchamiania programu Visual Studio 2019 w systemie Windows 10. Niektóre rozwiązania, które działały u innych, obejmowały:
Niestety żadne z tych rozwiązań nie działało dla mnie, przypisanie innego numeru portu działało, ale nie było rozwiązaniem akceptowalnym, ponieważ ważne było, aby moja aplikacja działała na określonym porcie.
Rozwiązanie
Najpierw uruchomiłem polecenie:
z podwyższonego procesu wiersza polecenia. To rozwiązało początkowy błąd, kiedy próbowałem uruchomić aplikację, nie otrzymałem już błędu „port w użyciu”, zamiast tego pojawił się błąd informujący, że aplikacja nie może połączyć się z portem, ponieważ wymagane są uprawnienia administratora. (chociaż korzystałem z Visual Studio jako administrator)
Drugi błąd został spowodowany przez Hyper-V, który dodaje porty do zakresu wykluczeń portów, port używany przez moją aplikację znajdował się w jednym z tych zakresów wykluczeń. Możesz wyświetlić te porty, uruchamiając następujące polecenie:
netsh interface ipv4 show excludedportrange protocol=tcp
Aby rozwiązać ten drugi błąd:
netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
Stąd wszystko działało idealnie.
źródło
netsh interface ipv4 show excludedportrange protocol=tcp
przynajmniej mogłem wybrać nowy port dla projektu.Miałem ten sam problem, ale żaden proces nie pojawił się ani w netstacie, ani w resmon.
Rozwiązaniem dla mnie było zamknięcie wszystkich otwartych okien przeglądarki.
źródło
To prześladowało mnie przez ponad rok!
Dla mnie,
netstat -ano
w wierszu poleceń.Rozwiązaniem było biec
netsh http add iplisten ipaddress=::
z wiersza poleceń.
Szczęśliwe dni i uznanie dla: Jamesa Bryanta! https://developercommunity.visualstudio.com/content/problem/110767/specified-port-is-in-use.html
źródło
Szukasz
netstat
.Otwórz powłokę poleceń administracyjnych i uruchom
netstat -aob
I poszukaj portu 10360. Pokaże ci, który plik wykonywalny otworzył port i jaki PID do wyszukania w Menedżerze zadań. (Właściwie
netstat -?
najpierw uruchom w nieuprzywilejowanej powłoce, ponieważ nie zgadzam się na ślepe uruchamianie czegokolwiek, czego nie rozumiesz, szczególnie w uprzywilejowanym kontekście).Oto, co robią przełączniki:
-a
pokazuje wszystkie połączenia lub otwarte porty, a nie tylko aktywne - port, który chcesz, prawdopodobnie nasłuchuje, a nie jest aktywny.-o
pokazuje PID będący właścicielem połączenia lub portu, dzięki czemu można znaleźć proces na karcie Procesy Menedżera zadań. (Może być konieczne dodanie kolumny PID w Menedżerze zadań. Widok-> Wybierz kolumny)-b
pokazuje plik binarny zaangażowany w otwieranie połączenia lub portu. To jest ten, który wymaga podwyższonego dostępu.źródło
PID
aplikację. Dzięki.netstat -aob | findstr '10360'
źródło
PROSTE ROZWIĄZANIE, KTÓRE DZIAŁAŁO DLA MNIE: (Kredyty za kombinację odpowiedzi innych)
Sprawdź zakres zablokowanych portów w CMD (admin)
Otwórz program Visual Studio i przejdź do> projektu> właściwości> sieci Web> serwerów> adresu URL projektu
Użyj portu, który nie jest zablokowany.
Uruchom ponownie program Visual Studio (jeśli jest to wymagane)
Napij się kawy i podziel się miłością. (wymagany) :)
źródło
źródło
Jeśli netstat nic nie pokazuje, spróbuj ponownie uruchomić komputer.
Dla mnie nic nie pojawiło się w netstacie dla mojego portu. Próbowałem zamknąć okna przeglądarki Google Chrome, jak sugerowali @Clangon i @JT Taylor, ale bezskutecznie.
Ostatecznie jednak restart systemu zadziałał, więc mogę tylko założyć, że coś innego potajemnie blokowało otwarty port. A może po prostu trwało to dłużej, niż byłem gotowy czekać na zwolnienie portów po zamknięciu Chrome.
źródło
Uruchomienie Visual Studio w trybie administracyjnym rozwiązało mój problem
źródło
netstat nie pokazał niczego już używającego portu
netstat -ano | findstr <your port number>
nic mi nie pokazał. Dowiedziałem się, że port został wykluczony za pomocą tego polecenia, aby zobaczyć, jakie zakresy są zarezerwowane przez coś innego:netsh interface ipv4 show excludedportrange protocol=tcp
Możesz spróbować odblokować zakres z portu początkowego dla wielu portów (potrzebujesz wiersza polecenia z administratorem):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
Jednak w moim przypadku nie mogłem odblokować zakresu, właśnie otrzymałem komunikat „Odmowa dostępu”, więc ostatecznie musiałem wybrać inny port dla mojej witryny.
Moje oryginalne rozwiązanie: jedyną rzeczą, która działała, było usunięcie folderu .vs w folderze rozwiązania. (Od tego czasu odkryłem, że możesz po prostu usunąć plik .vs / config / applicationhost.config, aby uniknąć utraty tak wielu ustawień).
źródło
Otwórz Menedżera zadań i po prostu zamknij wszystkie procesy „IIS Express System Tray” i „IIS Express Worker Process” i ponownie uruchom projekt
źródło
Visual Studio 2015
Mam nadzieję, że to pomoże.
źródło
U mnie błąd „Określony port jest używany” jest zwykle naprawiany (dobrze działa) przez zatrzymanie usługi „Udostępnianie połączenia internetowego ( ICS )” ( Dostęp współdzielony ) i „Usługa publikowania w sieci World Wide Web” ( W3SVC ).
Po uruchomieniu projektu / ISS Express zatrzymane usługi można ponownie uruchomić bez problemów.
Ilekroć otrzymuję błąd, port (z zakresu 50000) jest zdecydowanie nieużywany (sprawdzane za pomocą netstat i tcpview).
Byłoby miło, gdyby Microsoft przeprowadził testy integracyjne Visual Studio / IIS Express wraz z HyperV i „zwykłą” usługą IIS LUB dał wskazówki, które zakresy portów używać dla VS / IIS Express (i których portów unikać).
źródło
Dla mnie przeglądarka Google Chrome była procesem korzystającym z portu. Nawet po zamknięciu przeglądarki Chrome zauważyłem, że proces nadal się powtarzał (pozwalam Chrome „działać w tle”, aby otrzymywać powiadomienia na pulpicie). Wszedłem do Menedżera zadań i zabiłem proces przeglądarki Chrome, a następnie uruchomiłem aplikację internetową, działała jak urok.
źródło
U mnie zamknij wszystkie aplikacje i uruchom ponownie komputer.
Po uruchomieniu okna najpierw otwórz program Visual studio, a następnie otwórz przeglądarkę i kliknij uruchom (F5).
Teraz działa. Nie wiem dlaczego.
źródło
Otwórz csproj za pomocą na przykład Notepad ++ i przewiń w dół do DevelopmentServerPort. Zmień to na coś innego, o ile jest powyżej 1024, jak zalecane (na przykład 22312). Zmień także IISUrl na http: // localhost: 22312 / . Zapisz zmiany i zrestartuj projekt.
źródło
W moim przypadku nie było aplikacji korzystającej z określonego portu, a podwyższone działanie Visual Studio też nie pomogło.
Pomogło mi ponowne zainstalowanie IIS Express i ponowne uruchomienie komputera.
źródło
Dla mnie było to osierocone zadanie VBCSCompiler z poprzedniego uruchomienia, które nie zostało zamknięte i w jakiś sposób przeszkadzało. Zabicie tego zadania rozwiązało go.
https://developercommunity.visualstudio.com/content/problem/31482/vbcscompiler-does-not-shut-down.html
źródło
Musisz skonfigurować ten parametr, uruchamiając następujące polecenie w administracyjnym wierszu polecenia:
źródło
Dla mnie netstat pokazał mi, że mam uruchomionego Fiddlera, który utrzymywał otwarty port.
źródło
kliknij powiadomienie na dole paska zadań, jeśli otrzymujesz błąd, taki jak używany port, a następnie wybierz ikonę iiss kliknij prawym przyciskiem myszy, a następnie kliknij przycisk Zakończ, dla mnie działa jak urok
źródło
Komunikat błędu powinien powiedzieć, która aplikacja już korzysta z portu - w moim przypadku był to explorer.exe, więc był to tylko przypadek ponownego uruchomienia eksploratora z poziomu menedżera zadań.
źródło
Pojawił się ten sam błąd. Ustawiłem moją usługę sieciową jako aplikację w IIS i naprawiłem to przez:
Kliknij prawym przyciskiem myszy mój projekt WebService w moim rozwiązaniu> Właściwości> Sieć> W obszarze „Serwery” zmień z IIS Express na Lokalne IIS (automatycznie utworzy katalog wirtualny, który chcesz)
źródło
Gdy port xxxx jest już używany, zawsze pojawia się identyfikator PID (identyfikator procesu) z błędem. Po prostu przejdź do menedżera zadań na komputerze, na którym uruchamiasz aplikację, kliknij szczegóły, a zidentyfikujesz drugą aplikację. Możesz wtedy zdecydować, czy chcesz zakończyć ten proces, czy nie
źródło
Aby dodać do tego, miałem włączoną pełną funkcję IIS na jednym z moich komputerów i wydawało się, że powoduje to sporadycznie.
Otrzymałem również przypadkowe skargi na to, że po pewnym czasie potrzebuję praw administratora do wiązania witryn, zakładam, że w jakiś sposób przeglądał pełną konfigurację IIS (co wymaga administratora, ponieważ nie jest to plik dla użytkownika).
Jeśli utkniesz i nic innego nie pomaga (i nie chcesz po prostu wybrać innego portu), sprawdź, czy usunąłeś ten port, jeśli jest obecny.
źródło
FWIW, wypróbowałem mnóstwo tych opcji i do niczego nie doszedłem. Potem zdałem sobie sprawę, że zainstalowałem VMWare Player tuż przed rozpoczęciem problemu. Odinstalowałem go i ten błąd zniknął.
Jestem pewien, że istnieje sposób, aby współistnieć, ale tak naprawdę nie potrzebuję Playera, więc po prostu go usunąłem. Jeśli próbowałeś różnych rzeczy i nie działa, rozważ przejrzenie jakichkolwiek ostatnio zainstalowanych programów (szczególnie tych, które obsługują karty sieciowe?) I sprawdź, czy to dokądkolwiek Cię zaprowadzi.
źródło
W programie Visual Studio 2017 wybierz projekt / właściwości, a następnie wybierz opcję sieci Web. W sekcji IIS obok domyślnego adresu URL projektu kliknij opcję Utwórz katalog wirtualny. To rozwiązało problem. Myślę, że w moim przypadku domyślny katalog wirtualny projektu został w jakiś sposób uszkodzony po sesji debugowania.
źródło
Aby rozwiązać ten problem, wykonaj poniższy krok:
Następnie wykonaj polecenie netsh http add iplisten ipaddress = ::
Po uruchomieniu projektu
źródło