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:
Usunięto
%userprofile%\Documents\IISExpress\
, próbowałem uruchomić.netsh http add urlacl url=http://localhost:62940/ user=everyone
, uruchomiono ponownie i próbowałem uruchomić. (Właściwieuser=Alla
od szwedzkiego Windowsa).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.config
i próbował uruchomić. (To zmieniło komunikat o błędzie... URL "http://*:62940/" ...
.Ponowna instalacja usług IIS 8.0 Express
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 netstat
nie 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.
netstat -aon | findstr
aby 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 lubnetsh http
gdy oczywiście nie są przyczyną.netstat
zgodnie z sugestią. Wydaje się, że żadna aplikacja nie monitoruje portu 62940. Coś innego musi być nie tak.Odpowiedzi:
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!
źródło
Microsoft.VisualStudio.Web.Host.exe*32
zakończ proces, jak mówi Avrohom Yisroel.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 ...
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*32
proces, 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 jest
Microsoft.VsHub.Server.HttpHost.exe
źródło
spróbuj (jako uprawniony administrator)
źródło
netsh http show urlacl
poszukać sprzecznego wpisu.netsh http add urlacl url=http://localhost:62940/ user=Everyone
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.
źródło
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
Zapisz i załaduj ponownie projekt i gotowe
źródło
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.msc
wiersz 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 .źródło
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:
Aby uzyskać dostęp do mojej witryny ze zdalnej lokalizacji w sieci, dodałem (krok 1):
Następnie wszedłem do CMD z uprawnieniami administratora (krok 2):
W kroku 3 dodałem regułę do zapory.
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
netsh
również dla istniejącej reguły lokalnego hosta :Teraz znowu działa.
źródło
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ć.
źródło
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:
źródło
Po wypróbowaniu wielu sugerowanych rozwiązań bez powodzenia właśnie ponownie uruchomiłem komputer. Potem problem już nie występował.
źródło
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:
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
netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
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.
Moja aplikacja działała teraz idealnie!
źródło
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.
źródło
applicationhost.config
pliku zadziałało dla mnie. Właśnie usunąłem wszystkie zawarte w nim<site>
wpisy.C:\Users\<USERNAME>\Documents\IISExpress\config\applicationhost.config
<sites>
i nacisnąłemCtrl+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órymhttp://localhost:3758/
określono, kliknij „Utwórz katalog wirtualny”. Teraz dobrzeCtrl+F5
uruchomiliśmy witrynę.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
źródło
netsh http add iplisten ipaddress=::
dzięki @IgnasPo tym, jak wszystkie wymienione tutaj kroki zakończyły się niepowodzeniem, uruchomiłem VS2015 jako administrator.
źródło
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.
źródło
%userprofile%\Documents\IISExpress
usunął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.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.
źródło
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:
W mojej sytuacji pojawił się błąd dotyczący używanego portu 443, ponieważ był to port ustawiony w adresie URL SSL dla projektu.
źródło
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.Usunięcie powiązania wskazującego na *: 50418: localhost rozwiązało problem.
Korzystanie z VS2017 i IISExpress v10.
źródło
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ć.
źródło
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 -ab
pokazał, ż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.
źródło
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.
źródło
W programie Visual Studio 2015:
źródło
Piszę to dla informacji.
Usuń plik w projekcie.
Po wyczyszczeniu> Budowanie> Rozpocznij projekcję
źródło
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.
źródło
Podczas pracy
netstat -abn
zauważyłem, że oprogramowanie „Duet Display” rezerwowało tysiące portów w zakresie ~ 51000.Zamknięcie go rozwiązało mój problem.
źródło
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.
źródło
W programie Visual Studio 2019 Po prostu usuń profil debugowania i utwórz nowy Wykonaj sztuczkę
źródło
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.
źródło
Czasami ten błąd może być inną wersją programu Visual Studio działającą na tym samym komputerze.
źródło
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)
Zobacz przykładowy plik rozwiązania ProjectSection (WebsiteProperties):
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.
źródło