Nie można uruchomić serwera sieci Web IIS Express


310

Mam rozwiązanie asp.net MVC 4. Podczas próby otwarcia go za pomocą programu Visual Studio 2012 pojawia się następujący błąd:

Microsoft Visual Studio

Konfiguracja Web https://localhost:dla ASP.NET 4.5 nie powiodła się. Musisz ręcznie skonfigurować tę witrynę dla ASP.NET 4.5, aby witryna działała poprawnie. Nie można znaleźć serwera https://localhost:44300/na komputerze lokalnym. Upewnij się, że lokalny serwer IIS został skonfigurowany do obsługi bezpiecznej komunikacji.

OK Pomoc

Chociaż rozwiązanie się otwiera. Ponadto, gdy próbuję uruchomić go z menu debugowania, pojawia się następujący błąd:

 Unable to launch the IIS Express Web server.

The start URL specified is not valid. https://localhost:44300/

i nie mogę debugować kodu. jak pozbyć się tych błędów i debugować / uruchomić stronę internetową od VS 2012?

Proszę zasugeruj.



4
Komunikaty o błędach są całkiem jasne, co jest nie tak: 1) You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly.i 2) The start URL specified is not valid.. Wygląda na to, że używasz HTTPS; AFAIK IIS Express nie obsługuje tego (a jeśli tak, prawdopodobnie będziesz musiał go skonfigurować, stąd Make sure the local IIS server has been configured to support secure communicationsczęść). Edycja: Wygląda na to, że obsługuje SSL: riii.nl/apr5u , przewodnik krok po kroku samego Hanselmana!
RobIII

1
@Robel, widzę, że we właściwościach witryny, pod zakładką aplikacji, docelową strukturą jest 4.5, a w zakładce internetowej Rozpocznij akcję to Bieżąca strona. powinienem zmienić adres projektu na localhost: 44300 ? Korzystam z IIS express 8
DotnetSparrow

To było ustawienie zapory :(
Moumit

1
Udało mi się rozwiązać ten problem w następujący sposób - 1) Visual Studio - Opcje -> Szukaj - IIS 2) Zaznacz „Używaj 64-bitowej wersji IIS Express do witryn i projektów”.
NanaFadanvis

Odpowiedzi:


377

Miałem dokładnie ten sam problem.
Powód - zły plik konfiguracyjny IIS.

Spróbuj usunąć automatycznie utworzony IISExpressfolder, który zwykle znajduje się %userprofile%/Documentsnp C:\Users\[you]\Documents\IISExpress. W.

Nie martw się, VS powinien utworzyć go ponownie - tym razem poprawnie - po ponownym uruchomieniu rozwiązania.


EDYCJA: Wiersz polecenia do usunięcia folderu:

rmdir /s /q "%userprofile%\Documents\IISExpress"

7
To zadziałało dla mnie. Nawet po odinstalowaniu i ponownej instalacji IIS Express 8 zachował ten sam plik konfiguracyjny, więc problem nadal występował. Zmieniłem nazwę folderu IISExpress na coś innego i utworzono nowy folder z czystą wersją pliku konfiguracyjnego.
nthpixel

2
„W domyślnym folderze” Gdzie to dokładnie jest? W ogóle nie widzę tego w moim rozwiązaniu.
Corey Ogburn

22
@CoreyOgburn Powinien znajdować się w folderze Dokumenty i IISExpress (tj. C: \ Users \ Corey \ Documents \ IISExpress \ Config) i usunąć folder config. Mam ten sam problem, ale to mnie nie naprawiło.
Arne H. Bitubekk

49
Dzięki. Tylko nie zapomnij zamknąć, a następnie ponownie otworzyć VS, aby ponownie skonfigurować IIS Express.
Nick.T

6
@crokusek ma odpowiedź na aktualizację VS2015 3. Przejdź do folderu „.vs \ config” w katalogu rozwiązania i usuń tam plik „applicationhost.config”.
AJ.

234

Jeśli używasz VS2015 lub nowszej wersji

Upewnij się, że proces iisexpress nie jest uruchomiony.

Upewnij się, że żaden inny proces nie używa żądanego portu. Możesz to zrobić, wykonując polecenie

netstat -a -b

w konsoli (jako Administrator wpisz cmdw menu Start, kliknij prawym przyciskiem myszy i wybierz „Uruchom jako admiminstrator”). Jeśli na przykład widzisz wpis, którego stan to USTANOWIONE lub SŁUCHANIE, oznacza to, że ten port korzysta z innego procesu. Musisz zakończyć ten proces lub zmienić port.

Następnie usuń następujący plik

<<path_to_solution_folder>>\.vs\config\applicationhost.config

Uwaga: .vsfolder może być ukryty

następnie znajdź <<project-name>>.csproj.userplik, otwórz go za pomocą edytora tekstu (Notatnik) i upewnij się IISUrlpod WebProjectPropertiesjest skonfigurowany tak, aby <IISUrl>http://localhost:XXXXX/</IISUrl>tam gdzie XXXXXjest pożądany portu.

po zrobieniu tego i próbie uruchomienia aplikacji możesz uzyskać

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Następnie przejdź do {Właściwości projektu} -> Internet i naciśnij przycisk „Utwórz katalog wirtualny”

wprowadź opis zdjęcia tutaj


1
Działa to doskonale na VS2015. Problem występował po utworzeniu starszego projektu aplikacji sieci Web w podstawowym rozwiązaniu .NET.
Sebazzz

To zadziałało, podstawowe narzędzia .NET zrobiły bałagan z IISE: /
Keoz

Zwykle mieszkam w świecie OWIN / NancyFx, więc kiedy musiałem zrobić projekt Web API po przerwie, byłem zaskoczony, dopóki nie zobaczyłem tej odpowiedzi. - dobrze znam ten faktoid - dzięki !!!
code4life

pracuję na VS 2915 @mihail nic nie usunąłem, po prostu stwórz katalog wirtualny ... czego on potrzebuje?
abdoutelb

4
@AbdouTelb sprawdź to iis.net/learn/get-started/planning-your-iis-architecture/… , usuwając plik .config, zasadniczo upewniasz się, że plik zostanie odtworzony przez vs, a tym samym wszelkie problemy z nim związane (i może być ich wiele) zniknie. Ten plik jest używany przez IIS Express w taki sam sposób, jak IIS używa własnego pliku applicationhost.config, tak samo jak przywracanie ustawień fabrycznych. Samo utworzenie katalogu wirtualnego nie wystarczy, aby usunąć problemy, które mogą ukryć się w pliku. W twoim przypadku masz szczęście :)
Mihail Shishkov

85

@roblll miał rację. Ale dla tych z was, którzy nie chcieli szukać odpowiedzi, oto:

  1. Zamknij Visual Studio (może nie być konieczne, ale nie będzie bolało).
  2. Przejdź do folderu Dokumenty. To był mój katalog konfiguracji IISExpress.
  3. W folderze config znajduje się plik o nazwie host aplikacji. Otwórz to.
  4. Wyszukaj nazwę swojego projektu. Powinien zostać tam dodany przez program Visual Studio, gdy był bombardowany podczas poprzednich prób.
  5. Pamiętaj, że istnieje powiązanie HTTP z portem, którego zamierzasz używać dla https.

    //Change this:
    <binding protocol="http" bindingInformation="*:44300:localhost" />
    
    //to this:
    <binding protocol="https" bindingInformation="*:44300:localhost" />
    

Pamiętaj, że Visual Studio mógł dostarczyć inne porty niż się spodziewałeś. Upewnij się tylko, że porty w powiązaniu odpowiadają temu, co znajduje się na karcie WWW właściwości projektu.

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx


5
W rzeczywistości otwierałem projekt opracowany gdzie indziej, zmieniając konfigurację protokołu dla projektu na https i ponownie ładując projekt pozbyłem się błędu. Dzięki @Jacob!
Geoffrey,

Tylko usunięcie folderu IISExpress nie rozwiązało się dla mnie. Po usunięciu, kiedy ponownie uruchomiłem VS i otworzyłem ten projekt, pojawiło się okno dialogowe błędu, które zostało rozwiązane dopiero po wykonaniu tego. Ten projekt, który pobrałem na stronie asp.net , był projektem przykładowym.
Alisson

Btw, jeśli masz zarówno powiązania http, jak i https, upewnij się, że nie używasz tego samego numeru portu na obu z nich.
Ziad Akiki,

41

Miałem ten sam problem, ale rozwiązanie, które działało dla mnie, było inne.

  1. W VS2013 Otwarte debugowanie> {YourWebsiteName} Właściwości
  2. Wybierz kartę „Internet”.
  3. W sekcji „Serwery” znalazłem opcję „Zastąp URL głównego katalogu aplikacji”. Odznałem to i zapisałem.

To wszystko, czego potrzebowałem, aby wszystko działało.


Polecam najpierw wypróbować to rozwiązanie. Zaznaczenie pola z nieprawidłowym adresem URL spowoduje błąd wymieniony w pytaniu.
tymoteusz

16

Ten sam problem, ale potrzebny do uruchomienia VS2013 w trybie administracyjnym .


Niestety to mi nie pomogło.
AH.

16

Spróbuj wykonać następujące kroki:

  1. usunąć IISExpress folderu jako @Yehuda Shapira powiedział
  2. restart komputera
  3. usuń folder .vs w projekcie

Powodzenia!


1
1. Zamknij Visual Studio 2. Usuń folder .vs, który pracował dla mnie. Jeśli usunę dolder .vs, gdy VS jest otwarty. To nie działa.
akdora

Usunięcie folderu .vs było jedyną rzeczą, która działała dla mnie. Folder .vs znajduje się w folderze projektu, ale domyślnie jest ukryty.
George

15

Miałem ten sam problem, a następnie otworzyłem menedżera zadań -> procesy, a następnie zabiłem proces iisexpress.exe. Następnie próbowałem uruchomić aplikację i udało mi się ją uruchomić


14

W moim przypadku projekt znajdował się na dysku sieciowym i usunięcie folderu IIS Express nie pomogło, jak opisano w innych odpowiedziach. Moim obejściem było skopiowanie projektu na dysk lokalny i zadziałało!


12

Miałem ten sam problem, dzięki @Jacob za udzielenie informacji na ten temat.

Powodem jest - niepoprawny wpis dla twojego projektu w pliku konfiguracyjnym applicationhost znajdującym się pod adresem

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. Zamknij wszystkie rozwiązania Visual Studio.
  2. Zmień nazwę folderu IISExpress na część IISExpress-Copy (zamiast usuwać możesz mieć jego kopię)
  3. Teraz otwórz VS ponownie i skompiluj / debuguj projekt, teraz zobaczysz folder IISExpress utworzony dla ciebie ponownie z poprawną konfiguracją.

To działało dla mnie i mam nadzieję, że powinno również działać dla ciebie.


Próbowałem wykonać kroki przedstawione w innych odpowiedziach, ale to dla mnie zadziałało. Musiałem zmienić nazwę IISExpressfolderu. Usunięcie tego nie działało dla mnie.
webworm

nie działa dla mnie wszystko zaczęło się, gdy pomieszałem z https
Toolkit

9

Miałem ten sam problem, ponieważ przyczyną było ustawienie flagi „zastąp adres URL głównego katalogu aplikacji” w obszarze Właściwości -> Internet Po usunięciu flagi program IIS Express zaczynał działać poprawnie ze zdefiniowanym portem.


8

Wygląda na to, że musisz trochę skonfigurować, ponieważ wydaje się, że używasz SSL; oto przewodnik krok po kroku autorstwa samego Scotta Hanselmana .


@Roblll, nie widzę opcji Użyj IIS Express, kiedy klikam prawym przyciskiem myszy mój projekt MVC w VS 2012, widziałem to w VS 2010. Próbuję włączyć SSL dla rozwiązania w oknie właściwości i mówi, że właściwość jest niepoprawna. Więcej, w pliku applicationhost.config widzę wiele wpisów dla mojej aplikacji, takich jak Webapplication (1), Webapplication (2), Webapplication (3)
DotnetSparrow

Miałem ten sam problem i przezwyciężyłem go, uruchamiając VS2012 jako admin ( stackoverflow.com/a/13682315 ). Nie jestem zbyt zadowolony z tego rozwiązania, ale nie mogłem znaleźć innych.
brudert 24.04.2013

W moim projekcie zauważyłem, że ten sam numer portu został użyty dla SSL i nie SSL. Naprawiłem to i błąd zniknął.
orad

5

Jedynym rozwiązaniem, które działało dla mnie, było stworzenie kolejnego projektu testowego. Następnie wykonaj następujące kroki:

  1. Kliknij projekt prawym przyciskiem myszy i przejdź do Właściwości -> Internet

  2. Pod adresem URL projektu w sekcji Użyj lokalnego serwera sieci Web IIS skopiuj adres URL projektu (http: // localhost: 59002 /) - pochodzi z projektu testowego.

  3. Przejdź do projektu, w którym występuje ten błąd. Kliknij projekt prawym przyciskiem myszy i przejdź do Właściwości -> Internet.

  4. Wklej adres URL projektu w sekcji Użyj lokalnego serwera sieci Web IIS (adres URL skopiowany z projektu testowego). Zamknij projekt testowy i zapisz.

  5. Usuń projekt testowy i uruchom projekt, w którym wystąpił błąd. Działa po tym ...

Może nie najlepszy sposób, ale był to jedyny sposób, w jaki mogłem to uruchomić. Otrzymałem ten komunikat o błędzie po ponownym załadowaniu laptopa (dysk twardy się zawiesił) i otrzymałem wszystkie moje projekty z serwera, na którym były hostowane.


Naprawdę nie wiem, co zrobiłem z moim rozwiązaniem, ale był to jedyny sposób, aby to naprawić. Próbowałem nawet zadzwonić za pomocą polecenia netsh, usunąć folder IISExpress, uruchomić VS w trybie administracyjnym i nic więcej nie działało. Nie wiem, gdzie jeszcze jest mapowany adres url: port, ale pobranie adresu URL projektu innego wydawało mi się jedynym rozwiązaniem.
Sergio A.

5

Udostępniam to przyszłym czytelnikom. Ręczne utworzenie katalogu wirtualnego działało dla mnie.

  • Wybierz projekt w eksploratorze rozwiązań
  • Naciśnij Alt+Enter
  • Przejdź do sekcji internetowej
  • Kliknij opcję Utwórz katalog wirtualny

4

W moim przypadku po tym, jak zezwoliłem na zewnętrzne żądanie do mojej witryny IIS Express i skonfigurowałem zaporę systemu Windows, aby zezwalać na program iisexpress.exe, nie mogę uruchomić go w programie Visual Studio 2013. Nadal mogę uruchomić go z wiersza polecenia i obsługuje on lokalne i zewnętrzne prosi dobrze.

C:\Program Files (x86)\IIS Express>iisexpress /site:MyWebSiteName

Próbowałem utworzyć regułę zapory sieciowej, aby zezwolić na mój port, po tym VS działało.


3

Miałem ten sam problem z VS 2013 i nawet po wszystkich możliwych próbach nie działał. Mój problem został rozwiązany przez:

- In control panel (Program and Features) I found that all of the IIS related features were unchecked.I finally checked all of those and restarted my system.
- Then I started my VS 2013 as administrator and thats it everything
   worked fine then.

Przynajmniej możesz spróbować, ponieważ zadziałało to dla mnie.


3

Po dwugodzinnym wyszukiwaniu w sieci znalazłem moje rozwiązanie jako następujące kroki - zamknij studio wizualne - usuń folder .vs swojego projektu - otwórz studio wizualne i uruchom ponownie projekt

to działa dla mnie dobrze się bawić


2

Ten sam problem dotyczył naszych witryn. Udało nam się to naprawić w programie Visual Studio. Korzystamy z wersji Ultimate 2012.

Podstawowym problemem, który widzieliśmy, było to, że z włączonym SSL, z jakiegoś powodu VS przypisywał ten sam port dla standardowych i bezpiecznych adresów URL. Ten problem zdawał się pojawiać, gdy ściągaliśmy kod z TFS.

Aby temu zaradzić, podjęliśmy następujące kroki:

  1. Kliknij projekt prawym przyciskiem myszy i przejdź do Właściwości -> Internet
  2. Pod adresem URL projektu w sekcji Użyj lokalnego serwera sieci Web IIS usuń „s” z adresu URL i zapisz. ( Np . Przejdź od https: // : 44301 do http: // : 44301. Pozwoli to na działanie następnego kroku)
  3. W Eksploratorze rozwiązań wybierz projekt, aw oknie Właściwości (naciśnij F4, jeśli nie jest wyświetlany) zmień SSL włączony na False, a następnie z powrotem na True . Wygeneruje nowy port, który różni się od standardowego adresu URL (w moim przypadku mam 44301 jako mój SSL i 44305 jako mój standardowy)
  4. Wróć do Właściwości -> Internet i dodaj „s” z powrotem do adresu URL projektu.
  5. F5 i jedź!

Upewnij się, że pole wyboru Zastąp adres URL głównego katalogu aplikacji nie jest zaznaczone.


2

sprawdź zaporę antywirusową i zezwól na dostęp studio wizualnego do sieci. na przykład w nod32:

goto setting (f5) -> network->personal firewall->rules and zones

w „ zone and rule editor„ kliknięciu ” setup” i znajdź vs 2010lub 12lub… i zezwól na dostęp do sieci.



2

Wpadłem dzisiaj na ten błąd. Uruchamiam Win 8.1 i VS 2013. Nagle moje projekty nie mogły już działać i otrzymałem komunikat „Nie można uruchomić serwera sieci Web IIS Express” i żadnych dalszych informacji.

Po jakimś czasie dowiedziałem się, że wszystkie projekty, których IIS Express nie mógł uruchomić, działały .net 3.5. Projekty z nowszymi wersjami zaczęły działać poprawnie.

Rozwiązaniem było dla mnie usunięcie .net 3.5 (z panelu sterowania -> włączenie / wyłączenie funkcji systemu Windows), ponowne uruchomienie systemu Windows i ponowne dodanie .net 3.5.


2

Miałem ten sam problem, w moim przypadku właśnie wyczyściłem, a następnie przebudowałem moje rozwiązanie i zadziałało dla mnie


2

Cóż, żaden z wyżej wymienionych kroków nie działał dla mnie. W moim przypadku w moim applicationhost.configpliku jakoś brakuje dwóch następujących wierszy kodu

 <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
    <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

Mam nadzieję, że to może komuś pomóc.


2

Zanim spróbujesz cokolwiek innego, upewnij się, że 1. ponownie uruchomiłeś Visual Studio (głównie w celu odświeżenia opcji rezydentnych pamięci z plików) i 2. ponownie uruchomiłeś system (głównie w celu zablokowania nieprawidłowych plików). Jeśli twój problem jest tymczasowy lub samonaprawiający się, zrobią to bez zmiany czegokolwiek. Działa to dla mnie przy ponownym uruchomieniu komputera. Ponadto, jeśli pracujesz nad projektem dla wielu użytkowników, upewnij się, że masz najnowszą możliwą do wykonania wersję - ktoś inny mógł przez pomyłkę sprawdzić coś nieważnego np. W pliku projektu i bez powodu zadzierasz z systemem. Jeśli to nie zadziała, prawdopodobnie musisz zmienić niektóre ustawienia, które utknęły, brakuje lub wymagają modyfikacji - istnieje wiele propozycji dotyczących innych odpowiedzi.


1

Miałem podobny problem podczas uruchamiania mojego rozwiązania z VS2012:

Unable to launch the IIS Express Web server.  
The start URL specified is not valid. https://localhost:44301/

Wybrałem niepoprawny projekt jako Projekt startowy. Zrobiłem projekt Cloud Startup (kliknij prawym przyciskiem myszy projekt -> Ustaw jako projekt startowy) i wszystko zaczęło działać dobrze.


Należy również dodać, że początkowy adres URL musiałby być ustawiony lub ustawiony na „Bieżąca strona” lub „Konkretna strona” - przynajmniej zaznaczone. Mój ustawiono na „Nie otwieraj strony. Poczekaj na żądanie z aplikacji zewnętrznej” i otrzymałem ten błąd, oprócz problemu z projektem uruchamiania.
vapcguy

@Moumit, czy głosowałeś w tej sprawie? Czy możesz wyjaśnić swój komentarz?
scottndecker,

1

Jason's Shavers seria artykułów tutaj http://jasonrshaver.com/?tag=/Client+Certificates dokładnie wyjaśnia, jak skonfigurować wpis witryny applicationhost.config, aby umożliwić działanie aplikacji w ssl lub standardowym http.

Jedną z rzeczy, które poleca, jest umieszczenie dwóch wiążących wpisów dla witryny. Oto co zrobiłem.

            <bindings>
                <binding protocol="http" bindingInformation="*:59945:localhost" />
                <binding protocol="https" bindingInformation="*:44300:localhost"/>
            </bindings>

Zaleca także zmianę innych ustawień. Działa na dwóch z moich trzech maszyn. Za każdym razem, gdy polecono mi ręcznie skonfigurować witrynę na hoście aplikacji, zwykle wiąże się to z powiązaniami. (przykład użycia tego samego portu dla wielu aplikacji internetowych).


1

Miałem ten sam problem po zainstalowaniu aktualizacji Visual Studio 2013 Update 3.
VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
Unable to launch the IIS Express Web server

Mój problem został rozwiązany, wykonując następujące czynności:

1. Napraw Visual Studio 2013 Update 3
2. Uruchom Developer Command Promptjako administrator.
3. Wpisz, devenv.exe /setupa następnie naciśnij klawisz Enter


1

Miałem ten sam problem. Usunąłem wiele folderów pod C:/users/ścieżką, aby zwolnić miejsce na moim komputerze. Po czym zacząłem otrzymywać ten błąd.

Musiałem tylko ponownie uruchomić maszynę i wszystko działało dobrze.


1

Mój problem wymagał 3-krotnego rozwiązania:

  1. Usuń folder IISExpress z folderu Dokumenty.
  2. Ustaw projekt internetowy jako projekt startowy, klikając go prawym przyciskiem myszy i wybierając „Ustaw jako projekt startowy” lub robiąc to za pomocą właściwości rozwiązania.
  3. Ustaw początkowy adres URL lub ustaw „Bieżąca strona” lub „Określona strona”. Mój ustawiono na „Nie otwieraj strony. Poczekaj na żądanie z aplikacji zewnętrznej” i musiałem zmienić go na „Konkretną stronę”, którą zostawiam pustą, aby trafiła na stronę główną mojej aplikacji, zanim będzie praca.

1

Mój problem został ostatecznie rozwiązany, gdy spojrzałem na klucz rejestru IIS Express:

HKEY_CURRENT_USER\Software\Microsoft\IISExpress

Miałem wpis CustomUserHomewskazujący na Moje witryny internetowe, który powodował spustoszenie.


1

Skonfigurowałem Udostępnianie połączenia internetowego na moim komputerze dla maszyn wirtualnych. Wyłączyłem go i mogłem debugować w Visual Studio 2015 . Jednak, aby konsekwentnie debugować po ponownym uruchomieniu, musiałem ustawić usługę udostępniania połączenia internetowego na ręczne uruchamianie, nawet jeśli żadne z moich połączeń internetowych nie miało włączonego udostępniania połączenia internetowego .

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.