Nie można uruchomić serwera sieci Web IIS Express, nie można zarejestrować adresu URL, odmowa dostępu


168

Niektóre projekty internetowe sprawiają mi problemy, podczas gdy inne działają dobrze. Postanowiłem skupić się na jednym z problematycznych. Używam programu Visual Studio 2013 w systemie Windows 7. Myślę, że uruchamiam go jako administrator, mówi tytuł okna PROJECT NAME - Microsoft Visual Studio (Administrator).

Kiedy próbuję uruchomić projekt, pojawia się wyskakujące okienko z informacją:

Nie można uruchomić serwera sieci Web IIS Express.

Nie udało się zarejestrować adresu URL „ http: // localhost: 62940 / ” dla witryny „SITE NAME” application „/”. Opis błędu: Odmowa dostępu. (0x80070005).

Nie wydaje się to zupełnie niezwykłe, ale wypróbowałem wiele propozycji bez powodzenia:

  1. Usunięto %userprofile%\Documents\IISExpress\, próbowałem uruchomić.

  2. netsh http add urlacl url=http://localhost:62940/ user=everyone, uruchomiono ponownie i próbowałem uruchomić. (Właściwie user=Allaod szwedzkiego Windowsa).

  3. netsh http delete urlacl url=http://localhost:62940/, zrestartowany i zmieniony z <binding protocol="http" bindingInformation="*:62940:localhost />na <binding protocol="http" bindingInformation="*:62940:/>in %userprofile%\Documents\IISExpress\config\applicationhost.configi próbował uruchomić. (To zmieniło komunikat o błędzie ... URL "http://*:62940/" ....

  4. Ponowna instalacja usług IIS 8.0 Express

  5. Ponownie zainstalowano program Visual Studio 2013

Jestem na wyczerpaniu, co robię źle?

Jeśli zmienię port projektu (np. Na 55555) to się zacznie… Nie jest to pożądane rozwiązanie, ponieważ nad tymi projektami pracuje kilka osób. Może port jest blokowany przez coś innego? Jeśli tak, czy istnieje łatwy sposób sprawdzenia, według czego?

Port 62940 wydaje się być wolny. Uruchomienie netstatnie pokazuje żadnej aplikacji, która go nasłuchuje. Coś innego musi być nie tak.

Próbowałem rozpocząć projekt dzisiaj, nie dotykając go przez kilka miesięcy. Udało się, ale nie wiem dlaczego.


Uruchom, netstat -aon | findstraby sprawdzić, czy inna aplikacja również monitoruje port 62940. Jeśli tak, nie możesz monitorować tego portu, ale musisz przełączyć się na inny port. Nie zmieniaj applicationHost.config lub netsh httpgdy oczywiście nie są przyczyną.
Lex Li

Pobiegłem netstatzgodnie z sugestią. Wydaje się, że żadna aplikacja nie monitoruje portu 62940. Coś innego musi być nie tak.
Linus

2
Ponowne uruchamianie działało dla mnie.
Patrick Borkowicz

Odpowiedzi:


91

Błąd rozwiązałem zmieniając port dla projektu.

Zrobiłem następujące kroki:

1 - Kliknij prawym przyciskiem myszy projekt.
2 - Przejdź do właściwości.
3 - Przejdź do zakładki Serwer .
4 - W sekcji karty zmień adres URL projektu na inny port, np. 8080 lub 3000.

Powodzenia!


9
po prostu Microsoft.VisualStudio.Web.Host.exe*32zakończ proces, jak mówi Avrohom Yisroel.
rotgers

Pracowałem również dla mnie na ASP.NET Core 1.0 RC1, chociaż jest teraz na karcie Debugowanie i musiałem wyłączyć i ponownie włączyć SSL, aby wygenerować nowy port, a następnie skopiować go do pola Uruchom adres URL. stackoverflow.com/a/35706891/134761
angularsen

16
Dlaczego głosować za tym? To nie jest rozwiązanie, jest obejściem
Paleta

Jak powiedział @rotgers, musiałem zabić proces. Ale moim był ServiceHub.Host.CLR. Miałem ich 5 czy coś i zabiłem tych, których mogłem. Następnie jest odblokowany.
MartinJH,

Jeśli używasz VS 2017 do uruchamiania aplikacji, przejdź do zakładki „Sieć” i zmień port w adresie URL projektu
Fortune

59

Idealnym sposobem rozwiązania tego problemu jest użycie ikony w zasobniku usług IIS Express w celu zatrzymania witryny sieci Web, która powoduje problem. Aby to zrobić, kliknij małą strzałkę skierowaną w górę po prawej stronie paska zadań i kliknij prawym przyciskiem myszy ikonę IIS Express. Pojawi się małe okno pokazujące witryny internetowe, na których obecnie działa IIS Express ...

Pojawi się okno IIS Express

Jeśli klikniesz jeden z elementów w sekcji „Wyświetl witryny”, możesz zatrzymać tę witrynę. Możesz też kliknąć element Zakończ u dołu okna, aby zatrzymać wszystkie witryny internetowe.

Powinno to umożliwić debugowanie w programie Visual Studio. Po ponownym rozpoczęciu debugowania usługi IIS Express automatycznie ponownie uruchomią witrynę sieci Web i powinny być w stanie przydzielić port.

Jeśli to się nie powiedzie, musisz to zrobić w brudny sposób. Otwórz Menedżera zadań systemu Windows i zakończ Microsoft.VisualStudio.Web.Host.exe*32proces, a następnie możesz poprawnie uruchomić projekt. Zwróć uwagę, że spowoduje to całkowite zabicie IIS Express, co oznacza, że ​​wszystkie witryny sieci Web zostaną zatrzymane, więc jeśli chcesz debugować inne, musisz ponownie uruchomić każdą z nich w VS. Najpierw wypróbuj metodę wyskakujących ikon, ponieważ jest czystsza i bezpieczniejsza.

Nie wiem, czy to rozwiązuje Twój problem, ale dla mnie działa.

Aktualizacja Dzięki JasonCoder (patrz komentarz poniżej) za dodanie tego w Win10, proces jestMicrosoft.VsHub.Server.HttpHost.exe


3
Microsoft.VsHub.Server.HttpHost.exe był tym, czym był dla mnie w systemie Windows 7 z VS2015
JCisar

Ten proces jest uruchamiany ponownie, gdy próbuję uruchomić projekt. Jak się go pozbyć?
nmit026

2
@ nmit026 Proces powinien zostać uruchomiony ponownie, to właśnie uruchamia Twoją witrynę internetową. Celem zabicia go jest zwolnienie blokady, którą wydaje się mieć w porcie. Przy następnym uruchomieniu ponownie uruchamia proces i prawidłowo przydziela port.
Avrohom Yisroel

51

spróbuj (jako uprawniony administrator)

netsh http delete urlacl url=http://*:62940/

3
To faktycznie zadziałało dla mnie. Uważam, że z jakiegoś powodu musiałem zarezerwować port w MSVS 2010, a następnie zaktualizowałem go do 2013 (ekspresowo) i zacząłem otrzymywać błąd. Próbowałem usunąć, a następnie dodać (localhost -> '*'), co nie zadziałało. Następnie wystarczy usunąć bez dodawania i zadziałało.
crokusek

3
To też działało dla mnie, ale tylko wtedy, gdy działałem jako Administrator. W przeciwnym razie stwierdził, że nie może znaleźć pliku.
Seth

3
Spróbuj netsh http show urlaclposzukać sprzecznego wpisu.
shlgug

4
To pomogło, ale w moim przypadku nie wystarczyło. Musiałem również dodać właściwy adres URL, używającnetsh http add urlacl url=http://localhost:62940/ user=Everyone
sboisse

7
Usunięcie rezerwacji adresu URL nie powiodło się, błąd: 2 System nie może znaleźć określonego pliku.
Zestaw narzędzi

45

W przypadku korzystania z Visual Studio 2015 rozwiązanie może się nieco różnić od poprzednich odpowiedzi. VS2015 tworzy ukryty folder .vs w tym samym folderze, co plik rozwiązania. Poniżej znajduje się folder konfiguracyjny zawierający applicationhost.config. Usunięcie tego pliku (lub całego folderu .vs), a następnie uruchomienie programu VS2015 w celu ponownego utworzenia może naprawić ten błąd.


Nie musiałem restartować VS2015, po prostu próbowałem zrestartować aplikację. Musiałem także kliknąć „Utwórz katalog wirtualny” na karcie WWW na stronach właściwości projektu.
Doug Lampe

Mój problem polegał na tym, że plik .vs / config / application ... config innego projektu używał tego portu. Po usunięciu portu z tej konfiguracji aplikacji było dobrze.
James McDonnell

Miałem ten sam problem. Rozwiązałem to, szukając tego portu w pliku applicationhost.config. Powinien istnieć tag „witryna” zawierający ten sam port, jaki określono w ustawieniach projektu. Jeśli program Visual Studio utworzył nowe, niewłaściwe tagi witryny, usuń je.
solone

36

Tak, zgadzam się, najlepsze odpowiedzi to naprawdę profesjonalne rozwiązania,

tutaj jest jeden dla półproduktów,

Eksplorator rozwiązań

Kliknij prawym przyciskiem myszy projekt i wybierz Zwolnij projekt

Ponownie kliknij prawym przyciskiem myszy i wybierz Edit ProjectName.csproj

usuń te 3 linie

<DevelopmentServerPort>0</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:62940/</IISUrl>

Zapisz i załaduj ponownie projekt i gotowe


Miałem dość wyładowania - nie trzeba usuwać żadnych wierszy z pliku .csproj.
Valdez V.

fajne rozwiązanie. zanim to musiało zostać ponownie uruchomione, aby rozwiązać ten problem - dzięki za świetne rozwiązanie.
nspire

Nie widziałem usuwanej części, po prostu poszedłem tam i zmieniłem port i działało
Belarmino Vicenzo

35

Ostatnio pojawił się ten błąd. Wypróbowałem wszystkie powyższe poprawki, ale żadna nie działała.

Aby go wyłączyć, wpisz services.mscwiersz polecenia, a następnie kliknij prawym przyciskiem myszy i wyłącz udostępnianie połączenia internetowego . Edytowałem również jego właściwości, aby wyłączyć podczas uruchamiania. Mój wygląda teraz tak: usługi przechwytują zrzut ekranu .


2
W rocznicowej edycji Windows 10 nazywa się Mobile Hotspot i można go otworzyć, wpisując np. „Hotspot” w menu Start i wybierając Zmień ustawienia mobilnego punktu dostępu.
Mathias Rönnlund

Jak powiedział Michael, problemem był ICS. Ale nie musisz wyłączać usługi, po prostu uruchom ją ponownie, a port będzie wolny.
Daniel Genezini

25

Stało się to ze mną, gdy próbowałem uzyskać dostęp do mojej witryny ze zdalnej lokalizacji :

Początkowo applicationhost.config (VS2015) zawierał standard:

<binding protocol="http" bindingInformation="*:64376:localhost" />

Aby uzyskać dostęp do mojej witryny ze zdalnej lokalizacji w sieci, dodałem (krok 1):

<binding protocol="http" bindingInformation="*:64376:192.168.10.132" />

Następnie wszedłem do CMD z uprawnieniami administratora (krok 2):

netsh http add urlacl url=http://*:64376/ user=Everyone

W kroku 3 dodałem regułę do zapory.

netsh advfirewall firewall add rule name=”IISExpressWeb dir=in protocol=tcp localport=64376 profile=private,domain remoteip=localsubnet action=allow

Następnie pojawił się ten błąd podczas próby ponownego uruchomienia rozwiązania.

Rozwiązanie: Wydawało się, że zrobiłem wszystko dobrze, ale nie zadziałało, dopóki nie uruchomiłem netshrównież dla istniejącej reguły lokalnego hosta :

netsh http add urlacl url=http://localhost:64376/ user=Everyone

Teraz znowu działa.


1
ostatnie polecenie było dokładnie tym, czego potrzebowałem, aby wszystko działało ponownie
peterkodermac

Dzięki za to. To była dokładnie ta sama czarna dziura, w którą utknąłem, próbując uzyskać zdalny dostęp do strony.
benmccallum

24

Właśnie miałem podobny problem. Nie jestem do końca pewien, jak opisać rzeczywistą usterkę, ale wygląda na to, że nazwa hosta w rezerwacji jest nieprawidłowa. Spróbuj tego w wierszu polecenia z podwyższonym poziomem uprawnień ...

netsh http delete urlacl url=http://localhost:62940/

... następnie ...

netsh http add urlacl url=http://*:62940/ user=everyone

i uruchom ponownie witrynę. Powinno działać.


19

Napotkałem ten sam komunikat o błędzie, ale wygląda na to, że został utworzony przez IIS Express. Ten artykuł pomógł mi rozwiązać ten problem

TL; DR

Uruchom następujące polecenie z wiersza polecenia administratora:

> netsh http add iplisten ipaddress=::

1
@amy netsh konfiguruje role / funkcje serwera Windows. Zasadniczo umożliwia to nasłuchiwanie HTTP i IP dla localhost. Dla zainteresowanych tutaj dokumentacja Microsoftu na ten temat: technet.microsoft.com/en-us/library/ ...
Micah

Pozdrawiam @Micah, od tego czasu musiałem to cofnąć, ponieważ wszystkie moje lokalnie skonfigurowane witryny IIS przestały działać ..: /
army

2
Poprawka: Musiałem tylko dodać 127.0.0.1 jako adres IP do nasłuchiwania, wszystko działa teraz. Jeszcze raz dziękuję za rozwiązanie;)
armia

16

Po wypróbowaniu wielu sugerowanych rozwiązań bez powodzenia właśnie ponownie uruchomiłem komputer. Potem problem już nie występował.


Na marginesie - wypróbowałem tutaj każde rozwiązanie. Próbowałem nawet zamknąć i ponownie uruchomić komputer i to nie zadziałało. Następnie kolega zasugerował, żebym faktycznie użył RESTART zamiast SHUT DOWN i zadziałało. Pokerowa twarz : | Korzystanie z programu Visual Studio 2015 w systemie Windows 8.1. Ten błąd występuje bardzo często w różnych rozwiązaniach VS, które uruchamiam lokalnie.
Prisecaru Alin

15

Ten sam problem wystąpił podczas uruchamiania aplikacji z programu Visual Studio 2019 w systemie Windows 10. Po pewnym czasie wyszukiwania w Google i wypróbowaniu różnych proponowanych rozwiązań bez powodzenia stwierdziłem, że błąd „Odmowa dostępu” był wynikiem numeru portu używanego przez moją aplikację (50403 ) mieszczący się w „wykluczonym zakresie portów”.

Możesz wyświetlić wykluczone zakresy portów za pomocą następującego polecenia:

netsh interface ipv4 show excludedportrange protocol=tcp

Po dłuższym szukaniu w Google odkryłem, że dwoma najbardziej prawdopodobnymi winowajcami, którzy tworzą te zakresy wykluczeń, są Docker i Hyper-V. Docker nie został zainstalowany na moim komputerze, ale Hyper-V był.

Moje rozwiązanie

  1. Wyłącz Hyper-V: Panel sterowania-> Programy i funkcje-> Włącz lub wyłącz funkcje systemu Windows. Odznacz Hyper-V
  2. Zrestartuj komputer.
  3. Dodaj używany port do zakresu wykluczeń portów: netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
  4. Włącz ponownie Hyper-V
  5. Zrestartuj komputer

Dodałem port, którego używam, do listy wykluczeń, aby upewnić się, że nie napotkam tego problemu ponownie po ponownym włączeniu Hyper-V. Po krokach 4 i 5, kiedy przeglądałem wykluczony zakres portów, widzę, że Hyper-V zarezerwował zakres portów zaczynając od następnego portu po moim porcie.

Wyłączony zakres portów

Moja aplikacja działała teraz idealnie!


2
Idealne rozwiązanie! Miałem zainstalowany docker, który powodował ten sam problem. Wielkie dzięki
Richa Garg

2
samo polecenie identyfikacji portów wykluczenia, aby mogli wybrać wolny port, jest prostym rozwiązaniem problemu port_is_in_use. Nie ma potrzeby mieszania się z Hyper-V lub jakąkolwiek inną usługą używającą / rezerwującą porty (i moje wielkie dzięki za pomoc)
HPWP7

@ HPWP7 Tak, masz rację, prostym rozwiązaniem byłoby wybranie innego portu. W moim przypadku muszę użyć portu 50403, ponieważ usługa jest konsumowana przez usługi zewnętrzne, nad którymi nie mam kontroli. Dlatego muszę zarezerwować port 50403. (to przyjemność, cieszę się, że mogłem pomóc)
Philip Tren z

Dziękuję Ci! Spędziłem godzinę próbując wszystkiego innego bez powodzenia.
Max Favilli

Dziękuję Ci! Udało mi się pominąć kroki deinstalacji / ponownej instalacji, uruchamiając ponownie komputer raz i nie uruchamiając żadnych (docker) kontenerów po uruchomieniu, przed uruchomieniem polecenia z kroku 3. Na szczęście zrestartowałem tylko raz, ale to może być szczęście. To może zająć parę
Malte R

13

Skończyło się na wyczyszczeniu pliku projektu (csproj) i applicationhost.config (iis express) ze wszystkimi wpisami dotyczącymi konfiguracji iis express. Potem zadziałało.


8
Wyczyszczenie applicationhost.configpliku zadziałało dla mnie. Właśnie usunąłem wszystkie zawarte w nim <site>wpisy. C:\Users\<USERNAME>\Documents\IISExpress\config\applicationhost.config
Nick Albrecht,

Tak. Ten działał dla mnie w VS 2013. Wyczyściłem wpis na mojej stronie <sites>i nacisnąłem Ctrl+F5. Mówi o błędzie nie można uruchomić IIS Express. Tak więc, kliknij prawym przyciskiem myszy projekt, przejdź do właściwości, w sieci Web, obok pola tekstowego adresu URL projektu, w którym http://localhost:3758/określono, kliknij „Utwórz katalog wirtualny”. Teraz dobrze Ctrl+F5uruchomiliśmy witrynę.
Gopinath

11

Jeśli masz to po zainstalowaniu programu Visual Studio 2015 i możesz zobaczyć komunikaty o błędach w dzienniku zdarzeń systemu, takie jak ten: oznacza Unable to bind to the underlying transport for [::]:{your_port}. . The IP Listen-Only list may contain a reference ...to, że może brakować wpisu rejestru.

Uruchom to w wierszu polecenia administratora: netsh http add iplisten ipaddress=::aby to naprawić.

Opisane szczegółowo rozwiązanie znalazłem tutaj


Nawet jeśli zmienisz port projektu, musisz uruchomić netsh http add iplisten ipaddress=::dzięki @Ignas
OldTrain

9

Po tym, jak wszystkie wymienione tutaj kroki zakończyły się niepowodzeniem, uruchomiłem VS2015 jako administrator.


Jest to również najbardziej prawdopodobna przyczyna, jeśli adres URL, którego nie można uruchomić, jest fałszywym adresem, który dodałeś do pliku hosts
MrLore

5

Zdarzyło mi się to na Windows 10 i VS 2013. Najwyraźniej istnieje maksymalny numer portu, który obsługuje IIS Express. Porty powyżej 62546 nie działają dla mnie.


1
Nie jestem pewien, czy lub jaka jest maksymalna. Jednak cierpiałem z powodu tego błędu. Następnie %userprofile%\Documents\IISExpressusunąłem i wyedytowałem mój plik .csproj, przenosząc się z portu 63584 na 61111. Po ponownym załadowaniu mój projekt zaczął się dobrze.
Andy V

3

Błąd można rozwiązać, jeśli po prostu ponownie uruchomisz program Visual Studio. Ma to taki sam efekt, jak ponowne uruchomienie procesu Microsoft.VisualStudio.Web.Host.exe * 32.


1
Brak restartów, pomógł mi nawet komputer. Złe rozwiązanie dla mnie.
Eugene Bosikov,

1
U mnie zadziałało, spróbuj zaktualizować Visual Studio. Możesz też wypróbować inne rozwiązania.
meJustAndrew,

2

Mój problem polegał na tym, że w ustawieniach projektu mam włączony protokół SSL. Po prostu to wyłączyłem, ponieważ nie potrzebowałem SSL do lokalnego uruchamiania projektu.

W programie Visual Studio 2015:

  • Wybierz projekt w Eksploratorze rozwiązań.
  • W oknie Właściwości ustaw SSL Enabled na False.
  • Projekt udało mi się uruchomić.

W mojej sytuacji pojawił się błąd dotyczący używanego portu 443, ponieważ był to port ustawiony w adresie URL SSL dla projektu.


1
Miałem odwrotność tego, faktycznie musiałem włączyć SSL w moim projekcie. Dobrze widzieć, że nie jestem jedyną osobą, która zobaczyła ten błąd z powodu SSL.
polędwica

1
Musiałem to zrobić, aby ustawić go na używanie SSL, a następnie z powrotem na nie (moja aplikacja nie powinna używać
SSL

2

Mam ten sam problem, w którym IIS express narzekał na http: // localhost: 50418 / i żadne z powyższych rozwiązań nie zadziałało.

Poszedłem do projektFolder -> .vs -> config -> applicationhost.xml

W tagu <sites>odkryłem, że moja aplikacja internetowa ma zarejestrowane dwa powiązania.

<site name="myApp.Web" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\git\myApp\myApp.Web" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44332:localhost" />
        <binding protocol="http" bindingInformation="*:50418:localhost" />
    </bindings>
</site>

Usunięcie powiązania wskazującego na *: 50418: localhost rozwiązało problem.

Korzystanie z VS2017 i IISExpress v10.


Hej, mówimy tutaj o IISExpress, a nie IIS. Nie mam nawet tych 3 linii.
yww325

1

Przejdź do projektu „Właściwości” => „Sieć” iw sekcji „Serwery” zmień port na inny, który nie jest używany i zapisz go. Zostaniesz poproszony o utworzenie katalogu wirtualnego i kliknięcie „Tak”. Teraz uruchom projekt i będzie teraz działać.


To jest dokładnie ta sama odpowiedź, którą Francisco napisał 3 tygodnie wcześniej.
Johnny Bones,

1

W moim przypadku początkowo zadziałało i po chwili przestało działać i IIS Express zgłosił, że port jest w użyciu.
netstat -abpokazał, że Chrome używa portu. Po tym, jak opuściłem Chrome, znów zaczął działać.
Nie jestem jednak pewien, dlaczego Chrome miałby zajmować ten port.


To zadziałało dla mnie. Używałem funkcji Przeglądaj za pomocą i przełączałem się między przeglądarką Firefox i Chrome bez uruchamiania debugera. Coś musiało się zawiesić w trakcie. (Win7 / VS2015)
Technobabble

1

Zdarzyło mi się to na Windows 7 i VS 2013 podczas przeglądania projektu w przeglądarce po kompilacji. Musiałem tylko zamknąć przeglądarkę „Chrome” i upewnić się, że port nie jest używany w moich działaniach sieciowych za pomocą jakiegoś narzędzia (Kaspersky), a następnie spróbować ponownie i działał bez żadnych problemów.


1

W programie Visual Studio 2015:

  • Znajdź swoją stronę startową w swoim projekcie (np. Mypage.aspx) i kliknij ją prawym przyciskiem myszy.
  • Kliknij Ustaw jako stronę początkową.
  • Kliknij projekt prawym przyciskiem myszy.
  • Kliknij Właściwości.
  • Kliknij kartę sieci Web po lewej stronie.
  • W adresie URL projektu wprowadź inny port, na przykład: http: // localhost: 1234 /
  • W Akcji początkowej wybierz Określona strona: mypage.aspx lub wybierz Określony adres URL: http: // localhost: 1234 / mypage.aspx? Myparam = xxx

1

Piszę to dla informacji.

Usuń plik w projekcie.

Po wyczyszczeniu> Budowanie> Rozpocznij projekcję


1

Rozwiązałem ten problem, zabijając wszystkie wystąpienia iexplorer i iexplorer * 32. Wygląda na to, że program Internet Explorer nadal był w pamięci, a port był otwarty, mimo że okno aplikacji było zamknięte.


1

Podczas pracy netstat -abnzauważyłem, że oprogramowanie „Duet Display” rezerwowało tysiące portów w zakresie ~ 51000.

Zamknięcie go rozwiązało mój problem.


Ten sposób jest prawdopodobnie najlepszym sposobem, ponieważ nie tylko desperacko próbuje cokolwiek naprawić problem, ale zamiast tego pomaga znaleźć rzeczywistą przyczynę.W moim przypadku inny proces sporadycznie wybiera ten sam port, którego chciał użyć IIS, i ta odpowiedź pomogła mi w końcu znaleźć winowajcę.
causa prima

1

Miałem ten problem z JetBrains Rider, szczególnie w przypadku portów 80 i 90, który działał z innymi portami, a także ze studiem wizualnym.

po uruchomieniu jako administrator rozwiązało to problem.


To dlatego, że próbujesz otworzyć port <1024. To są porty usług.
Bluebaron

tak, to prawda, ale działanie jako administrator umożliwia powiązanie z tymi portami
bajt roboczy

Tak, ale nie powinieneś wiązać tych portów jako admin. To jest niebezpieczne.
Bluebaron

1

W programie Visual Studio 2019 Po prostu usuń profil debugowania i utwórz nowy Wykonaj sztuczkę

  1. Przejdź do właściwości projektu na karcie debugowania
  2. spróbuj najpierw Zmiana ustawień portów Web Server Settings
  3. jeśli zmiana portów nie zadziałała, usuń profil debugowania i utwórz nowe jedno ostrzeżenie. Upewnij się, że znasz poprzednie ustawienia

1

U mnie zadziałało wyłączenie wszystkich innych kart sieciowych, z wyjątkiem tej, której obecnie używam. Wydarzenie w przeglądarce wydarzeń to: Unable to bind to the underlying transport for [::]:50064. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.

Ponieważ mam VMware Workstation, Docker (a tym samym Hyper V) niektórych klientów VPN, mam wiele interfejsów sieciowych.


0

Czasami ten błąd może być inną wersją programu Visual Studio działającą na tym samym komputerze.


0

Wygląda na to, że każdy ma własny problem Po prostu udostępniam, co zrobiłem, aby rozwiązać ten problem w VS2015 (Windows 8.1), moje rozwiązanie ma 6 witryn internetowych (nie aplikacji internetowych)

  1. Otwórz plik rozwiązania * .sln
  2. Zmień ciąg znaków w pliku rozwiązania VWDPort = "34781" (uczyń go wyjątkowym w swoim rozwiązaniu, jeśli masz więcej niż jedną witrynę internetową, zrobiłem +2) w notatniku.

Zobacz przykładowy plik rozwiązania ProjectSection (WebsiteProperties):

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "BOSTONBEANCOFFEE.COM", "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM", "{5106A8F5-401B-4907-981C-F37784DC4E9D}"
ProjectSection(WebsiteProperties) = preProject
    SccProjectName = ""$/PrismRMSystem/VS2012/WebOfficeV4.root/WebOfficeV4", IPYHAAAA"
    SccAuxPath = ""
    SccLocalPath = "..\.."
    SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
    TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
    ProjectReferences = "{04e527c3-bac6-4082-9d39-aad8771b368e}|YBTools.dll;{5d52eaec-42fb-4313-83b8-69e2f55ebf14}|AuthorizeNet.dll;{d8408f53-8f1e-4a71-8b05-76023b09b716}|AuthorizeNet.Helpers.dll;{77ebd08a-de0f-4793-b436-fad6980863e6}|WEBCUSTCONTROLS.dll;"
    Debug.AspNetCompiler.VirtualPath = "/BOSTONBEANCOFFEE.COM"
    Debug.AspNetCompiler.PhysicalPath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\"
    Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\BOSTONBEANCOFFEE.COM\"
    Debug.AspNetCompiler.Updateable = "true"
    Debug.AspNetCompiler.ForceOverwrite = "true"
    Debug.AspNetCompiler.KeyFile = "Key\StrongKey.snk"
    Debug.AspNetCompiler.DelaySign = "false"
    Debug.AspNetCompiler.AllowPartiallyTrustedCallers = "false"
    Debug.AspNetCompiler.FixedNames = "true"
    Debug.AspNetCompiler.Debug = "True"
    Release.AspNetCompiler.VirtualPath = "/BOSTONBEANCOFFEE.COM"
    Release.AspNetCompiler.PhysicalPath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\"
    Release.AspNetCompiler.TargetPath = "PrecompiledWeb\BOSTONBEANCOFFEE.COM\"
    Release.AspNetCompiler.Updateable = "true"
    Release.AspNetCompiler.ForceOverwrite = "true"
    Release.AspNetCompiler.KeyFile = "Key\StrongKey.snk"
    Release.AspNetCompiler.DelaySign = "false"
    Release.AspNetCompiler.AllowPartiallyTrustedCallers = "false"
    Release.AspNetCompiler.FixedNames = "true"
    Release.AspNetCompiler.Debug = "False"      
    VWDPort = "34781"
    SlnRelativePath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\"
EndProjectSection

W moim przypadku próbowałem zmienić adres URL z właściwości projektu, zrestartować VS, zrestartować komputer, nic nie pomogło mi tylko ta manipulacja plikiem SLN naprawiła mój problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.