Wie kann ich den IIS Express-Port für eine Site ändern?

109

Ich möchte die Portnummer ändern, auf der meine Website beim Debuggen in Visual Studio ausgeführt wird. Ich verwende Visual Studio 2012 und verwende ASP.NET MVC 4 für meine Projekte, bei denen ich den Port ändern möchte. Zufälliger Port oder fester Port, der funktioniert, möchte nur den Port ändern.

Mohit
quelle

Antworten:

127

So geben Sie einen Port für ein Webanwendungsprojekt an, das IIS Express verwendet

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Anwendung und wählen Sie dann Eigenschaften. Klicken Sie auf die Registerkarte Web.

  2. Ändern Sie im Abschnitt Server unter Lokalen IIS-Webserver verwenden im Feld Projekt-URL die Portnummer.

  3. Klicken Sie rechts neben dem Feld Projekt-URL auf Virtuelles Verzeichnis erstellen und dann auf OK.

  4. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern.

  5. Um die Änderung zu überprüfen, drücken Sie STRG + F5, um das Projekt auszuführen. Die neue Portnummer wird in der Adressleiste des Browsers angezeigt.

Von Gewusst wie: Geben Sie einen Port für den Development Server an ( archive.org- Backup hier ).

Hutchonoid
quelle
14
Das funktioniert nicht für Websites. Nur für Webanwendungsprojekte.
Supersharp
2
Kein Web-Tab hier ... Sie würden denken, dass dies 2017 kein Problem mehr sein würde. Das oder zumindest sollten wir in der Lage sein, die Ports zu wechseln, ohne zaubern zu müssen
calcazar
Visual Studio 2015 nicht vorhanden Option (ASP.NET Empty Web Site) .. Wie mache ich?
KingRider
Ich hatte das alles getan, außer auf die Schaltfläche Virtuelles Verzeichnis erstellen zu klicken. Das zu tun machte den Unterschied; jetzt gehts. Aber warum ist das notwendig?
Rod
Wenn Sie dies tun, verwenden Sie nicht mehr IIS Express, sondern lokalen IIS. Gehen Sie einfach zur Registerkarte Web in den Projekteigenschaften und bearbeiten Sie den Port nach Bedarf.
VladT
68

Hier ist eine manuellere Methode, die sowohl für Website- Projekte als auch für Webanwendungsprojekte funktioniert . (Sie können die Projekt-URL nicht in Visual Studio für Website-Projekte ändern.)

Webanwendungsprojekte

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und klicken Sie auf Projekt entladen .

  2. Navigieren Sie zur Datei IIS Express ApplicationHost.config . Standardmäßig befindet sich diese Datei in:

    %userprofile%\Documents\IISExpress\config

    In neueren Visual Studio-Versionen und Webanwendungsprojekten befindet sich diese Datei im Lösungsordner unter [Solution Dir]\.vs\config\applicationhost.config(beachten Sie, dass der .vs-Ordner ein verstecktes Element ist).

  3. Öffnen Sie die Datei ApplicationHost.config in einem Texteditor. <sites>Suchen Sie im Abschnitt nach dem Namen Ihrer Site. Im <bindings>Bereich Ihrer Website sehen Sie ein Element wie das folgende:

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

    Ändern Sie die Portnummer (56422 im obigen Beispiel) nach Belieben. z.B:

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

    Bonus: Sie können sich sogar an einen anderen Hostnamen binden und coole Dinge tun wie:

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

    und dann Karte mysite.devzu 127.0.0.1in Ihrer hostsDatei, und öffnen Sie Ihre Website von „ http://mysite.dev

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und klicken Sie auf Projekt neu laden .

  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften.

    • Wählen Sie die Registerkarte Web.

    • Geben Sie im Abschnitt Server unter Lokalen IIS-Webserver verwenden im Feld Projekt-URL eine URL ein, die mit dem Hostnamen und dem Port übereinstimmt, die Sie zuvor in die Datei ApplicationHost.config eingegeben haben.

    • Klicken Sie rechts neben dem Feld Projekt-URL auf Virtuelles Verzeichnis erstellen. Wenn Sie eine Erfolgsmeldung sehen, haben Sie die Schritte korrekt ausgeführt.

    • Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern.

Website-Projekte

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen und dann auf Entfernen oder Löschen . Keine Sorge, dies entfernt das Projekt aus Ihrer Lösung, löscht jedoch nicht die entsprechenden Dateien auf der Festplatte.

  2. Befolgen Sie Schritt 2 von oben für Webanwendungsprojekte.

  3. Im Projektmappen Explorer mit der rechten Maustaste auf die Lösung, Hinzufügen wählen, und wählen Sie dann Web - Site Bestehende ... . Stellen Sie im Dialogfeld Vorhandene Website hinzufügen sicher, dass die Registerkarte Lokaler IIS ausgewählt ist. Wählen Sie unter IIS Express-Sites die Site aus, für die Sie die Portnummer geändert haben, und klicken Sie dann auf OK.

Jetzt können Sie über Ihren neuen Hostnamen / Port auf Ihre Website zugreifen.

Saeb Amini
quelle
1
Genial, genau das, was gebraucht wurde. Musste nach einem funktionierenden Hafen fischen, aber das hat es geschafft, danke.
Hobwell
1
Danke Saeb. Das funktioniert perfekt. Nur ein Punkt zu beachten ... Ich verwende die Quellcodeverwaltung und nachdem ich mein Website-Projekt wieder hinzugefügt hatte, musste ich zu Datei> Quellcodeverwaltung> Erweitert> Quellcodeverwaltung ändern gehen und mein Projekt erneut an meinen Quellcodeverwaltungsserver binden. Dies bedeutete lediglich, das Projekt in der Liste auszuwählen und auf die Schaltfläche "Binden" neben "Aktualisieren" zu klicken. Danke für die hervorragende Antwort.
Dirk Strauss
2
Tolle Antwort - Anstatt mit der rechten Maustaste auf den Projektnamen zu klicken und dann auf Entfernen oder Löschen zu klicken, können Sie stattdessen "Projekt entladen" auswählen und dann erneut Ihre applicationhost.config bearbeiten. Meine war unter "<Pfad zu meiner Lösung (.sln)". Datei> \. vs \ config \ applicationhost.config "(Beachten Sie, dass der Ordner .vs ein verstecktes Element ist. Wählen Sie daher die Option, versteckte Dateien in
Ihrem
1
@ PaulGorbas froh, dass es dir geholfen hat. Beachten Sie, dass Sie Websites nicht "entladen" können , da dies nur für Webanwendungen funktioniert.
Saeb Amini
2
Wie funktioniert dies für einen benutzerdefinierten SSL-Port? Für jeden Port außer 60233 erhalte ich im Internet Explorer die Meldung "Diese Seite kann nicht angezeigt werden" und ähnliche Meldungen in anderen Webbrowsern. Wo in Windows 7 bezeichnet man SSL-Ports?
MiloDC
18

.Net Core

Für diejenigen, die hier nach dieser Konfiguration im .Net-Kern gesucht haben, befindet sich diese im lauchSettings.json. Bearbeiten Sie einfach den Port in der Eigenschaft "applicationUrl".

Die Datei sollte ungefähr so ​​aussehen:

{
  "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"
      },
    }
  }
}

Oder Sie können die GUI verwenden, indem Sie auf die "Eigenschaften" Ihres Projekts doppelklicken.

Hinweis: Ich musste VS erneut öffnen, damit es funktioniert.

Fabriciorissetto
quelle
1
Geniale Antwort. Das Neustarten von VS hat bei mir funktioniert. Anscheinend verwendet der BitDefender- ProductAgentService.exeDienst Port 50151, der mit dem Standardport von IIS Express in Konflikt steht.
Seidenfeuer
5
SSL-Ports sind auf 44300-44399 beschränkt. Könnte gut zu wissen sein.
FatAlbert
15

Klicken Sie mit der rechten Maustaste auf Ihr MVC-Projekt. Gehen Sie zu Eigenschaften. Gehen Sie zur Registerkarte Web.
Ändern Sie die Portnummer in der Projekt-URL. Beispiel. localhost: 50645 Wenn Sie
die fettgedruckte Nummer 50645 in etwas anderes ändern, wird der Port geändert, unter dem die Site ausgeführt wird.
Klicken Sie auf die Schaltfläche Virtuelles Verzeichnis erstellen , um den Vorgang abzuschließen.

Siehe auch: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

Das Bild zeigt die Registerkarte "Web" eines MVC-Projekts Geben Sie hier die Bildbeschreibung ein

Ashley Medway
quelle
4

Wenn Sie nur den Port ändern möchten, weil er bereits verwendet wird. Befolgen Sie die folgenden Schritte.

Im visuellen Studio

  1. Klicken Sie mit der rechten Maustaste auf Projektknoten und Projekt entladen
  2. Klicken Sie mit der rechten Maustaste auf Projektknoten und bearbeiten Sie die .csproj-Datei.
  3. Suchen Sie nach den folgenden Tags und entfernen Sie sie
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. Drücken Sie Strg + S, um das Dokument zu speichern
  2. Klicken Sie mit der rechten Maustaste auf Projektknoten und laden Sie Projekt

Dies funktioniert durch zufällige Auswahl eines anderen Ports.

Für weitere Informationen. Bitte klicken Sie

Charlie
quelle
2

Ein weiterer Fix für diejenigen, auf denen IIS installiert ist:

Erstellen Sie einen Pfad auf dem IIS-Server und weisen Sie dort Ihre Website / App zu.

Gehen Sie zu den Eigenschaften der Lösung des Explorers und stellen Sie vor der Verwendung von iisexpress aus Visual Studio sicher, dass vs Ihren persönlichen IIS verwendet.

Lösungsmerkmale

Alex
quelle
2

Sie können IIS Express zuerst über die Befehlszeile starten und ihm einen Port mit / port: port-number geben, siehe andere Optionen .

John Henckel
quelle
2

Wenn es sich um eine Website handelt, nicht um eine Web-App, bestand mein Problem darin, dass sich der eigentliche .sln-Ordner an einer anderen Stelle als der Website befand, und ich hatte es nicht bemerkt. Suchen Sie dort nach dem Pfad .sln und dann nach dem Ordner .vs (versteckt).

Wächter
quelle
0

Ich würde das gleiche Problem bei einem WCF-Projekt auf VS2017 haben. Wenn ich debugge, gibt es Fehler wie nicht in der Lage, Metadaten abzurufen, aber es stellt sich heraus, dass der Port von einem anderen Prozess verwendet wurde. Ich habe eine Idee von hier und finde endlich heraus, wo der Hafen aufbewahrt wurde. Es gibt zwei Stellen: 1. C: ... in Ihrem Lösungsordner .... vs \ config \ applicationhost.config. Im Inneren finden Sie die Site, die Sie debuggen. Entfernen Sie unter das Problem mit dem Port. 2. C: ... in Ihrem Projektordner ... \ sehen Sie eine Datei mit ProjectName.csproj.user. Entfernen Sie diese Datei.

Schließen Sie also die Lösung, entfernen Sie die und die oben genannte Benutzerdatei und öffnen Sie die Lösung erneut. VS findet einen anderen geeigneten Port für die Site.

Huky
quelle
0

Ich benutze VS 2019.

Wenn Ihre Lösung mehr als eine Projekt- / Klassenbibliothek usw. enthält, wird die Registerkarte Web möglicherweise nicht angezeigt, wenn Sie auf die Eigenschaften des Projektmappen-Explorers klicken.

Wenn Sie auf das MVC-Projekt klicken und dann die Eigenschaften überprüfen, wird die Registerkarte "Web" angezeigt, auf der Sie den Port ändern können.

Shaakir
quelle
-2

Bearbeiten Sie die SLN-Datei mit einem Editor wie dem Editor.

Ersetzen Sie alle Ports durch neuen Port.

aDDin
quelle
Dies ist eine gültige Lösung, wenn Sie das alte Website-Projekt (dh für ASP Classic-Dateien) in VS2019 verwenden. Sie müssen die Lösungsdatei bearbeiten, da keine anderen Eigenschaftenseiten vorhanden sind. Mein Projekt sieht in der sln-Datei so aus. Projekt ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Brad Irby
-6

Stellen Sie Ihre Anwendung im IIS mit dem Standardport bereit. Versuchen Sie, es mit Visual Studio zu debuggen. Es ist eine gute Praxis. Wenn Sie Visual Studio verwenden, wird die Portnummer die meiste Zeit geändert. Stellen Sie die Anwendung also besser zuerst im IIS bereit und öffnen Sie sie in Visual Studio und debuggen Sie sie.

Arjunan
quelle
Lieber Mark, ich glaube nicht, dass du die Frage sorgfältig gelesen hast!
Mohit
1
Darüber hinaus ist es keine gute Praxis, sich direkt gegen IIS zu entwickeln. In diesem MSDN-Artikel wird erläutert, wann Sie bei der Entwicklung IISExpress, IIS oder einen externen Server verwenden sollten. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex