Jak mogę zmienić port IIS Express dla witryny


109

Chcę zmienić numer portu, na którym działa moja witryna podczas debugowania z programu Visual Studio. Używam programu Visual Studio 2012 i używam ASP.NET MVC 4 do moich projektów, w których chcę zmienić port. Losowy port lub naprawiony każdy będzie działał, po prostu chce zmienić port.

Odpowiedzi:


128

Aby określić port dla projektu aplikacji sieci Web korzystającego z usług IIS Express

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy nazwę aplikacji, a następnie wybierz opcję Właściwości. Kliknij kartę Sieć.

  2. W sekcji Serwery w obszarze Użyj lokalnego serwera sieci Web IIS w polu Adres URL projektu zmień numer portu.

  3. Po prawej stronie pola adresu URL projektu kliknij opcję Utwórz katalog wirtualny, a następnie kliknij przycisk OK.

  4. W menu Plik kliknij Zapisz wybrane elementy.

  5. Aby zweryfikować zmianę, naciśnij klawisze CTRL + F5, aby uruchomić projekt. Nowy numer portu pojawi się na pasku adresu przeglądarki.

From How to: Określ port dla serwera deweloperskiego ( kopia zapasowa archive.org tutaj ).


14
To nie działa w przypadku witryn internetowych. Tylko dla projektów aplikacji sieci Web.
— Supersharp

2
Brak karty Web tutaj ... Można by pomyśleć, że w 2017 roku nie będzie to już problemem .. To, a przynajmniej powinniśmy być w stanie zmieniać porty bez konieczności robienia czarów
— calcazar

Opcja Visual Studio 2015 nie istnieje (pusta witryna sieci Web ASP.NET) .. jak to zrobić?
— KingRider

Robiłem to wszystko, z wyjątkiem kliknięcia przycisku Utwórz katalog wirtualny. To uczyniło coś innego; teraz działa. Ale dlaczego jest to konieczne?
— Rod

Cóż, jeśli to zrobisz, nie używasz już usług IIS Express, ale lokalnych usług IIS. Po prostu przejdź do zakładki Web we właściwościach projektu i edytuj port na dowolne potrzebne.
— VladT,

68

Oto bardziej ręczna metoda, która działa zarówno w przypadku projektów witryn internetowych , jak i projektów aplikacji sieci Web . (Nie możesz zmienić adresu URL projektu z poziomu programu Visual Studio dla projektów witryny sieci Web).

Projekty aplikacji internetowych

  1. W Eksploratorze rozwiązań kliknij projekt prawym przyciskiem myszy i kliknij Zwolnij projekt .

  2. Przejdź do pliku IIS Express ApplicationHost.config . Domyślnie ten plik znajduje się w:

    %userprofile%\Documents\IISExpress\config

    W najnowszych wersjach programu Visual Studio i projektach aplikacji sieci Web ten plik znajduje się w folderze rozwiązania w [Solution Dir]\.vs\config\applicationhost.config(zauważ, że folder .vs jest elementem ukrytym)

  3. Otwórz plik ApplicationHost.config w edytorze tekstu. W <sites>sekcji wyszukaj nazwę swojej witryny. W <bindings>sekcji swojej witryny zobaczysz taki element:

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

    Zmień numer portu (56422 w powyższym przykładzie) na dowolny. na przykład:

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

    Bonus: możesz nawet powiązać się z inną nazwą hosta i robić fajne rzeczy, takie jak:

    <binding protocol="http" bindingInformation="*:80:mysite.dev" />

    a następnie zamapuj mysite.devna 127.0.0.1w swoim hostspliku, a następnie otwórz swoją witrynę z „ http://mysite.dev ”

  4. W Eksploratorze rozwiązań kliknij projekt prawym przyciskiem myszy i kliknij opcję Wczytaj ponownie projekt .

  5. W Eksploratorze rozwiązań kliknij projekt prawym przyciskiem myszy i wybierz opcję Właściwości.

    • Wybierz kartę Sieć.

    • W sekcji Serwery, w obszarze Użyj lokalnego serwera sieci Web usług IIS, w polu Adres URL projektu wprowadź adres URL zgodny z nazwą hosta i portem wprowadzonym wcześniej w pliku ApplicationHost.config .

    • Po prawej stronie pola adresu URL projektu kliknij opcję Utwórz katalog wirtualny. Jeśli zobaczysz komunikat o powodzeniu, oznacza to, że kroki zostały wykonane poprawnie.

    • W menu Plik kliknij Zapisz wybrane elementy.

Projekty stron internetowych

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy nazwę projektu, a następnie kliknij polecenie Usuń lub Usuń ; nie martw się, spowoduje to usunięcie projektu z rozwiązania, ale nie spowoduje usunięcia odpowiednich plików na dysku.

  2. Wykonaj krok 2 powyżej dla projektów aplikacji sieci Web.

  3. W oknie Solution Explorer kliknij prawym przyciskiem rozwiązanie, wybierz Dodaj, a następnie wybierz istniejący serwis internetowy ... . W oknie dialogowym Dodaj istniejącą witrynę sieci Web upewnij się, że jest wybrana karta Lokalne usługi IIS. W obszarze Witryny IIS Express wybierz witrynę, dla której zmieniono numer portu, a następnie kliknij przycisk OK.

Teraz możesz uzyskać dostęp do swojej witryny z nowej nazwy hosta / portu.


1
Niesamowite, dokładnie to, czego potrzebowaliśmy. Musiałem szukać działającego portu, ale to załatwiło sprawę, dziękuję.
— hobwell

1
Dzięki, Saeb. To działa doskonale. Jeszcze jedna uwaga ... Używam kontroli źródła i po ponownym dodaniu projektu witryny sieci Web musiałem przejść do Plik> Kontrola źródła> Zaawansowane> Zmień kontrolę źródła i ponownie powiązać mój projekt z serwerem kontroli źródła. Oznaczało to po prostu wybranie projektu z listy i kliknięcie przycisku „Bind” obok „Refresh”. Dzięki za doskonałą odpowiedź.
— Dirk Strauss

2
Świetna odpowiedź - zamiast „kliknij prawym przyciskiem myszy nazwę projektu, a następnie kliknij opcję Usuń lub Usuń”, możesz wybrać „zamiast tego wyładować projekt”, a następnie ponownie edytować plik applicationhost.config, mój był w „<ścieżka do mojego rozwiązania (.sln) plik> \. vs \ config \ applicationhost.config "(pamiętaj, że folder .vs jest ukrytym elementem, więc wybierz opcję pokazania ukrytych plików w eksploratorze plików)
— Paul Gorbas

1
@PaulGorbas cieszę się, że ci pomogło. Zauważ, że nie możesz "wyładowywać" stron internetowych , działa to tylko w przypadku aplikacji internetowych.
— Saeb Amini

2
Jak to zrobić dla niestandardowego portu SSL? W przypadku każdego portu oprócz 60233 w programie Internet Explorer i podobnych komunikatach w innych przeglądarkach pojawia się komunikat „Nie można wyświetlić tej strony”. Gdzie w Windows 7 wyznacza się porty SSL?
— MiloDC

18

.Net Core

Dla tych, którzy przybyli tutaj i szukają tej konfiguracji w .Net core, znajduje się ona w lauchSettings.json. Po prostu edytuj port we właściwości "applicationUrl".

Plik powinien wyglądać mniej więcej tak:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:53950/", //Here
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "index.html",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      },
    }
  }
}

Możesz też użyć GUI, klikając dwukrotnie „Właściwości” projektu.

Uwaga: musiałem ponownie otworzyć VS, aby działał.


1
Świetna odpowiedź. Ponowne uruchomienie VS zadziałało dla mnie. Najwyraźniej ProductAgentService.exeusługa BitDefender używa portu 50151, który jest w konflikcie z domyślnym portem IIS Express.
— Silkfire

5
Porty SSL są ograniczone do 44300-44399. Dobrze wiedzieć.
— FatAlbert

15

Kliknij prawym przyciskiem myszy projekt MVC. Przejdź do Właściwości. Przejdź do zakładki Sieć.
Zmień numer portu w adresie URL projektu. Przykład. localhost: 50645
Zmiana pogrubionego numeru 50645 na cokolwiek innego spowoduje zmianę portu, na którym działa witryna.
Naciśnij przycisk Utwórz katalog wirtualny , aby zakończyć proces.

Zobacz też: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

Obraz przedstawia kartę sieci Web projektu MVC wprowadź opis obrazu tutaj


4

Jeśli chcesz tylko zmienić port, ponieważ jest już używany. Wykonaj następujące kroki.

W Visual Studio

  1. Kliknij prawym przyciskiem myszy węzeł projektu i zwolnij projekt
  2. Kliknij prawym przyciskiem myszy węzeł projektu i Edytuj plik .csproj.
  3. Wyszukaj następujące tagi i usuń je
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. naciśnij Ctrl + S, aby zapisać dokument
  2. Kliknij prawym przyciskiem myszy węzeł projektu i wczytaj projekt

Będzie działać, wybierając losowo inny port.

W celu uzyskania dalszych informacji. proszę kliknąć


2

Kolejna poprawka dla tych, którzy mają zainstalowane usługi IIS:

Utwórz ścieżkę na serwerze IIS i przydziel tam swoją witrynę internetową / aplikację.

Przejdź do właściwości rozwiązania eksploratora, a następnie przed użyciem iisexpress z Visual Studio, zrób to, a nie używa własnych usług IIS.

Właściwości rozwiązania



2

Jeśli mówimy o witrynie internetowej, a nie aplikacji internetowej, moim problemem było to, że rzeczywisty folder .sln znajdował się gdzie indziej niż witryna, a tego nie zauważyłem. Poszukaj ścieżki .sln, a następnie folderu .vs (ukrytego).


0

Ten sam problem w projekcie WCF w VS2017. Kiedy debuguję, wyświetla błędy, takie jak brak możliwości pobrania metadanych, ale okazuje się, że port był używany przez inny proces. Stąd mam jakiś pomysł i wreszcie wiem, gdzie jest port. Istnieją 2 miejsca: 1. C: ... do folderu rozwiązania .... vs \ config \ applicationhost.config. Wewnątrz możesz znaleźć witrynę, którą debugujesz. W obszarze usuń problem z portem. 2. C: ... do folderu projektu ... \, zobaczysz plik z nazwą projektu.csproj.user. Usuń ten plik.

Więc zamknij rozwiązanie, usuń plik użytkownika i wspomniany powyżej, a następnie ponownie otwórz rozwiązanie, VS znajdzie inny odpowiedni port dla witryny.


0

Używam VS 2019.

Jeśli Twoje rozwiązanie ma więcej niż jedną bibliotekę projektów / klas itp., możesz nie widzieć karty Sieć po kliknięciu właściwości eksploratora rozwiązań.

Kliknięcie projektu MVC, a następnie sprawdzenie właściwości spowoduje wyświetlenie zakładki internetowej, na której można zmienić port.


-2

Edytuj plik .sln za pomocą edytora, takiego jak notatnik.

Zastąp wszystkie porty nowym portem.


Jest to poprawne rozwiązanie, jeśli używasz projektu witryny sieci Web w starym stylu (tj. Plików ASP Classic) w VS2019. Musisz edytować plik rozwiązania, ponieważ nie ma innych stron właściwości. Mój projekt wygląda tak w pliku sln. Projekt („{E24C65DC-7377-472B-9ABA-BC803B73C61A}”) = „MyWebSitePrj”, „ localhost: 50194 ”, „{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}”
— Brad Irby

-6

Wdróż aplikację w usługach IIS z domyślnym portem. Spróbuj go debugować za pomocą programu Visual Studio. To dobra praktyka. Jeśli używasz programu Visual Studio, przez większość czasu będzie on zmieniał numer portu. Dlatego lepiej wdrożyć aplikację w usługach IIS i otworzyć to samo w programie Visual Studio i debugować.


Drogi Marku, wydaje mi się, że nie przeczytałeś dokładnie pytania!
— Mohit

1
Ponadto tworzenie oprogramowania bezpośrednio z usługami IIS nie jest dobrą praktyką. W tym artykule MSDN wyjaśniono, kiedy podczas programowania należy używać usług IISExpress, IIS lub serwera zewnętrznego. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
— Itanex
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.