Come posso cambiare la porta IIS Express per un sito


109

Voglio cambiare il numero di porta su cui viene eseguito il mio sito Web durante il debug da Visual Studio. Sto usando Visual Studio 2012 e sto usando ASP.NET MVC 4 per i miei progetti che voglio cambiare la porta. La porta casuale o fissa chiunque funzionerà solo per cambiare la porta.

Risposte:


128

Per specificare una porta per un progetto di applicazione Web che utilizza IIS Express

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome dell'applicazione e quindi selezionare Proprietà. Fare clic sulla scheda Web.

  2. Nella sezione Server, in Usa server Web IIS locale, nella casella URL progetto modificare il numero di porta.

  3. A destra della casella URL progetto, fare clic su Crea directory virtuale e quindi fare clic su OK.

  4. Nel menu File, fai clic su Salva elementi selezionati.

  5. Per verificare la modifica, premere CTRL + F5 per eseguire il progetto. Il nuovo numero di porta viene visualizzato nella barra degli indirizzi del browser.

Da come a: Specificare una porta per il server di sviluppo ( backup di archivio.org qui ).


14
Questo non funziona per i siti Web. Solo per progetti di applicazioni Web.
Supersharp

2
Nessuna scheda Web qui ... Penseresti che nel 2017 questo non sarebbe più un problema .. O per lo meno dovremmo essere in grado di cambiare le porte senza dover fare magie
calcazar

Opzione Visual Studio 2015 non esiste (ASP.NET Empty Web Site) .. come fare?
KingRider

Stavo facendo tutto questo, tranne che facendo clic sul pulsante Crea directory virtuale. Ciò ha reso la differenza; ora funziona. Ma perché è necessario?
Rod

Bene, se lo fai, non stai più utilizzando IIS Express, ma IIS locale. Quindi vai alla scheda Web in Proprietà del progetto e modifica la porta con quello che ti serve.
VladT

68

Ecco un metodo più manuale che funziona sia per i progetti di siti Web che per i progetti di applicazioni Web . (non è possibile modificare l'URL del progetto dall'interno di progetti di Visual Studio per siti Web.)

Progetti di applicazioni web

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e fare clic su Scarica progetto .

  2. Accedi al file IIS Express ApplicationHost.config . Per impostazione predefinita, questo file si trova in:

    %userprofile%\Documents\IISExpress\config

    Nelle versioni recenti di Visual Studio e nei progetti di applicazioni Web, questo file si trova nella cartella della soluzione in [Solution Dir]\.vs\config\applicationhost.config(nota che la cartella .vs è un elemento nascosto)

  3. Apri il file ApplicationHost.config in un editor di testo. Nella <sites>sezione, cerca il nome del tuo sito. Nella <bindings>sezione del tuo sito vedrai un elemento come questo:

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

    Cambia il numero di porta (56422 nell'esempio sopra) in qualsiasi cosa tu voglia. per esempio:

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

    Bonus: puoi persino associarti a un nome host diverso e fare cose interessanti come:

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

    quindi mappare mysite.devsu 127.0.0.1nel hostsfile, quindi aprire il sito Web da " http://mysite.dev "

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e fare clic su Ricarica progetto .

  5. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e selezionare Proprietà.

    • Seleziona la scheda Web.

    • Nella sezione Server, in Usa server Web IIS locale, nella casella URL progetto immettere un URL che corrisponda al nome host e alla porta immessi in precedenza nel file ApplicationHost.config .

    • A destra della casella URL progetto, fare clic su Crea directory virtuale. Se vedi un messaggio di successo, significa che hai eseguito correttamente i passaggi.

    • Nel menu File, fai clic su Salva elementi selezionati.

Progetti di siti web

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto e quindi fare clic su Rimuovi o Elimina ; non preoccuparti, questo rimuove il progetto dalla tua soluzione, ma non elimina i file corrispondenti sul disco.

  2. Seguire il passaggio 2 dall'alto per i progetti di applicazioni Web.

  3. In Esplora soluzioni, fare clic con la soluzione, selezionare Aggiungi, quindi selezionare Existing Sito Web ... . Nella finestra di dialogo Aggiungi sito Web esistente, assicurarsi che la scheda IIS locale sia selezionata. In IIS Express Sites, seleziona il sito per il quale hai modificato il numero di porta, quindi fai clic su OK.

Ora puoi accedere al tuo sito web dal tuo nuovo nome host / porta.


1
Fantastico, esattamente quello che ci voleva. Ho dovuto pescare in giro per un porto funzionante, ma questo ha funzionato, grazie.
hobwell

1
Grazie Saeb. Funziona perfettamente. Solo un punto da notare ... Sto usando il controllo del codice sorgente e dopo aver aggiunto di nuovo il mio progetto del sito web ho dovuto andare su File> Controllo del codice sorgente> Avanzate> Cambia controllo del codice sorgente e ricollegare il mio progetto al mio server di controllo del codice sorgente. Ciò significava solo selezionare il progetto nell'elenco e fare clic sul pulsante "Associa" accanto a "Aggiorna". Grazie per l'ottima risposta.
Dirk Strauss

2
Ottima risposta - Invece di "fare clic con il pulsante destro del mouse sul nome del progetto e quindi fare clic su Rimuovi o Elimina", è possibile selezionare "scarica progetto invece", quindi modificare nuovamente il tuo applicationhost.config, il mio era in "<percorso della mia soluzione (.sln) file> \. vs \ config \ applicationhost.config "(nota che la cartella .vs è un elemento nascosto, quindi seleziona l'opzione per mostrare i file nascosti nel tuo file explorer)
Paul Gorbas

1
@PaulGorbas contento che ti abbia aiutato. Tieni presente che non puoi "scaricare" siti web , che funziona solo per applicazioni web.
Saeb Amini

2
Come farlo funzionare per una porta SSL personalizzata? Per qualsiasi porta eccetto 60233, ottengo "Questa pagina non può essere visualizzata" in Internet Explorer e messaggi simili in altri browser web. Dove in Windows 7 si designano le porte SSL?
MiloDC

18

.Net Core

Per coloro che sono arrivati ​​alla ricerca di questa configurazione in .Net core, questa risiede nel lauchSettings.json. Basta modificare la porta nella proprietà "applicationUrl".

Il file dovrebbe essere simile a questo:

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

Oppure puoi usare la GUI facendo doppio clic nelle "Proprietà" del tuo progetto.

Nota: ho dovuto riaprire VS per farlo funzionare.


1
Risposta brillante. Il riavvio di VS ha funzionato per me. Apparentemente il ProductAgentService.exeservizio di BitDefender utilizza la porta 50151 che era in conflitto con la porta predefinita di IIS Express.
silkfire

5
Le porte SSL sono limitate a 44300-44399. Potrebbe essere utile saperlo.
FatAlbert

15

Fare clic con il tasto destro sul progetto MVC. Vai a Proprietà. Vai alla scheda Web.
Modificare il numero di porta nell'URL del progetto. Esempio. localhost: 50645
Cambiando il numero in grassetto, 50645, con qualsiasi altra cosa cambierà la porta con cui gira il sito.
Premere il pulsante Crea directory virtuale per completare il processo.

Vedi anche: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

L'immagine mostra la scheda Web di un progetto MVC inserisci qui la descrizione dell'immagine


4

Se vuoi solo cambiare la porta perché è già in uso. Segui i passaggi seguenti.

In Visual Studio

  1. Fare clic con il tasto destro su Project Node e Unload Project
  2. Fare clic con il pulsante destro del mouse su Project Node e modificare il file .csproj.
  3. Cerca i seguenti tag e rimuovili
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. premere Ctrl + S per salvare il documento
  2. Fare clic con il tasto destro su Project Node e caricare Project

Funzionerà selezionando un'altra porta a caso.

Per maggiori informazioni. per favore clicca


2

Un'altra correzione per coloro che hanno IIS installato:

Crea un percorso sul server IIS e alloca lì il tuo sito web / app.

Vai alle proprietà della soluzione dell'esploratore, quindi prima di utilizzare iisexpress da visual studio, fai in modo che usi il tuo IIS personale.

Proprietà della soluzione



2

Se stiamo parlando di un sito Web, non di un'app Web, il mio problema era che la cartella .sln effettiva era da qualche altra parte rispetto al sito Web e non l'avevo notato. Cerca il percorso .sln e quindi la cartella .vs (nascosta) lì.


0

Avrei lo stesso problema su un progetto WCF su VS2017. Quando eseguo il debug, dà errori come l'impossibilità di ottenere metadati, ma risulta che la porta è stata utilizzata da un altro processo. Ho avuto un'idea da qui e finalmente ho capito dove fosse tenuto il porto. Ci sono 2 posizioni: 1. C: ... nella cartella della soluzione .... vs \ config \ applicationhost.config. All'interno puoi trovare il sito di cui esegui il debug. Sotto, rimuovi il problema con la porta. 2. C: ... nella cartella del progetto ... \, vedrai un file con ProjectName.csproj.user. Rimuovi questo file.

Quindi, chiudere la soluzione, rimuovere e il file utente sopra menzionato, quindi riaprire la soluzione, VS troverà un'altra porta adatta per il sito.


0

Sto usando VS 2019.

se la tua soluzione ha più di un progetto / librerie di classi ecc., potresti non vedere la scheda Web quando fai clic sulle proprietà di Esplora soluzioni.

Facendo clic sul progetto MVC e quindi controllando le proprietà verrà visualizzata la scheda Web in cui è possibile modificare la porta.


-2

Modifica il file .sln utilizzando un editor come il blocco note.

Sostituisci tutte le porte con una nuova porta.


Questa è una soluzione valida se stai usando il vecchio stile Web Site Project (cioè per i file ASP Classic) in VS2019. È necessario modificare il file della soluzione perché non sono presenti altre pagine delle proprietà. Il mio progetto appare così nel file sln. Project ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Brad Irby

-6

Distribuisci la tua applicazione in IIS con la porta predefinita. Prova a eseguire il debug utilizzando Visual Studio. È una buona pratica. Se usi Visual Studio, continuerà a cambiare il numero di porta la maggior parte del tempo. Quindi è meglio distribuire prima l'applicazione in IIS e aprire lo stesso in Visual Studio ed eseguirne il debug.


Caro Mark, non credo che tu abbia letto attentamente la domanda!
Mohit

1
Inoltre, non è una buona pratica sviluppare direttamente contro IIS. Questo articolo di MSDN spiega quando è necessario utilizzare IISExpress, IIS o un server esterno durante lo sviluppo. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.