Impossibile avviare il server Web IIS Express


310

Ho una soluzione asp.net MVC 4. Quando provo ad aprirlo usando Visual Studio 2012, ottengo il seguente errore:

Microsoft Visual Studio

La configurazione di Web https://localhost:per ASP.NET 4.5 non è riuscita. È necessario configurare manualmente questo sito per ASP.NET 4.5 affinché il sito funzioni correttamente. Impossibile trovare il server https://localhost:44300/sul computer locale. Assicurarsi che il server IIS locale sia stato configurato per supportare comunicazioni sicure.

OK Aiuto

Anche se la soluzione si apre. Inoltre, quando provo a eseguirlo dal menu di debug, ottengo il seguente errore:

 Unable to launch the IIS Express Web server.

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

e non riesco a eseguire il debug del codice. come sbarazzarsi di questi errori ed eseguire il debug / eseguire il sito Web da VS 2012?

Per favore, suggerisci



4
I messaggi di errore sono abbastanza chiari su cosa c'è che non va: 1) You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly.e 2) The start URL specified is not valid.. Inoltre sembra che tu stia utilizzando HTTPS; AFAIK IIS Express non lo supporta (e in tal caso probabilmente dovrai configurarlo, quindi la Make sure the local IIS server has been configured to support secure communicationsparte). Modifica: sembra supportare SSL: riii.nl/apr5u , una guida passo passo dello stesso Hanselman!
RobIII

1
@Robel, vedo che nelle proprietà del sito, nella scheda dell'applicazione, il framework di destinazione è 4.5 e nella scheda Web, Avvia azione è Pagina corrente. dovrei cambiare l'URL del progetto in localhost: 44300 ? Sto usando IIS express 8
DotnetSparrow l'

Era l'impostazione del firewall :(
Moumit,

1
Sono stato in grado di risolvere questo problema nel modo seguente: 1) Visual Studio - Opzioni -> Cerca - IIS 2) Seleziona "Usa la versione a 64 bit di IIS Express per siti Web e progetti".
NanaFadanvis,

Risposte:


377

Ho avuto lo stesso identico problema.
Il motivo - file di configurazione IIS errato.

Prova a eliminare la IISExpresscartella creata automaticamente , che di solito si trova in %userprofile%/Documents, ad es C:\Users\[you]\Documents\IISExpress.

Non preoccuparti, VS dovrebbe crearlo di nuovo - correttamente, questa volta - una volta eseguita nuovamente la soluzione.


EDIT: riga di comando per l'eliminazione della cartella:

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

7
Questo ha funzionato per me. Anche dopo aver disinstallato e reinstallato IIS Express 8, ha mantenuto lo stesso file di configurazione in modo che il mio problema persistesse. Ho rinominato la cartella IISExpress in qualcos'altro e una nuova cartella è stata creata con una versione pulita del file di configurazione.
nthpixel,

2
"Nella cartella predefinita" Dov'è esattamente? Non lo vedo affatto nella mia soluzione.
Corey Ogburn,

22
@CoreyOgburn Dovrebbe trovarsi nella cartella Documenti e IISExpress (ad es. C: \ Users \ Corey \ Documents \ IISExpress \ Config) ed eliminare la cartella di configurazione. Ho lo stesso problema ma questo non ha risolto il problema per me.
Arne H. Bitubekk,

49
Grazie. Basta non dimenticare di chiudere, quindi riaprire VS per riconfigurare IIS Express.
Nick.T

6
@crokusek ha la risposta per VS2015 Update 3. Passare alla cartella ".vs \ config" nella directory della soluzione ed eliminare il file "applicationhost.config" lì.
AJ.

234

Se si utilizza VS2015 o versioni successive

Assicurarsi che il processo iisexpress non sia in esecuzione.

Assicurarsi che nessun altro processo stia utilizzando la porta desiderata. Puoi farlo eseguendo

netstat -a -b

nella console (come amministratore, digita il cmdmenu Start, fai clic con il pulsante destro del mouse e scegli "Esegui come amministratore"). Se vedi una voce con lo stato STABILITO o ASCOLTA ad esempio, significa che qualche altro processo sta usando questa porta. Dovrai terminare quel processo o cambiare la porta.

Quindi eliminare il seguente file

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

nota che la .vscartella potrebbe essere nascosta

quindi trova il <<project-name>>.csproj.userfile, aprilo con l'editor di testo (blocco note) e assicurati che IISUrlsotto WebProjectPropertiessia configurato <IISUrl>http://localhost:XXXXX/</IISUrl>dove si XXXXXtrova la tua porta desiderata.

dopo aver fatto questo e aver provato ad avviare l'app, potresti ottenere

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

Quindi vai su {Proprietà progetto} -> Web e premi il pulsante "Crea directory virtuale"

inserisci qui la descrizione dell'immagine


1
Questo ha funzionato perfettamente su VS2015. Si è verificato un problema dopo la creazione di un progetto di applicazione Web legacy nella soluzione di base .NET.
Sebazzz,

Questo ha funzionato, il core tooling di .NET ha fatto un casino con IISE: /
Keoz il

Di solito vivo nel mondo OWIN / NancyFx, quindi quando ho dovuto fare un progetto API Web dopo una pausa, ero perplesso, finché non ho visto questa risposta. - bello sapere questo factoid - grazie !!!
code4life,

lavorare su VS 2915 @mihail non ho cancellato nulla, ho solo creato una directory virtuale ... a cosa serve?
abdoutelb,

4
@AbdouTelb dai un'occhiata a iis.net/learn/get-started/planning-your-iis-architecture/… eliminando il file .config, sostanzialmente ti assicuri che il file verrà ricreato da vs e quindi eventuali problemi ad esso associati (e possono essercene molti) scompariranno. Questo file viene utilizzato da IIS Express nello stesso modo in cui IIS utilizza il proprio file applicationhost.config, quindi è uguale al ripristino delle impostazioni predefinite di fabbrica. La creazione della directory virtuale da sola non è sufficiente per rimuovere eventuali problemi che potrebbero essere nascosti nel file. Nel tuo caso sei appena stato fortunato :)
Mihail Shishkov,

85

@roblll aveva ragione. Ma per quelli di voi che non volevano cercare la risposta, eccolo qui:

  1. Chiudi Visual Studio (potrebbe non essere necessario, ma non farà male).
  2. Passare alla cartella Documenti. Qui è dove si trovava la mia directory di configurazione IISExpress.
  3. Nella cartella config, c'è un file chiamato host dell'applicazione. Apri quello.
  4. Cerca il nome del tuo progetto. Dovrebbe essere stato aggiunto lì da Visual Studio quando è stato bombardato nei tuoi precedenti tentativi.
  5. Si noti che esiste un binding per HTTP con la porta che si intende utilizzare per https.

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

Tieni presente che Visual Studio potrebbe aver fornito porte diverse da quelle previste. Assicurati solo che le porte nel binding corrispondano a ciò che si trova nella scheda Web delle proprietà del tuo progetto.

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


5
In realtà stavo aprendo un progetto sviluppato altrove, cambiando la configurazione del protocollo per il progetto in https e ricaricando il progetto mi sono sbarazzato dell'errore. Grazie @Jacob!
Geoffrey,

Solo l'eliminazione della cartella IISExpress non mi ha risolto. Dopo aver eliminato, quando ho riavviato VS e aperto questo progetto, è apparso un dialogo di errore, che è stato risolto solo dopo averlo fatto. Quel progetto che ho scaricato nella pagina di asp.net , era un progetto di esempio.
Alisson,

A proposito, se hai entrambi i collegamenti http e https, assicurati di non utilizzare lo stesso numero di porta su entrambi.
Ziad Akiki,

41

Ho avuto lo stesso problema ma la soluzione che ha funzionato per me era diversa.

  1. In VS2013 Debug aperto> Proprietà {YourWebsiteName}
  2. Seleziona la scheda "Web".
  3. In "Server" ho trovato "Sovrascrivi URL radice applicazione" è stato selezionato. L'ho deselezionato e salvato.

Era tutto ciò di cui avevo bisogno per far funzionare le cose.


Ti consiglio di provare prima questa soluzione. Spuntando la casella con un URL non valido si creerà l'errore indicato nella domanda.
scadente

16

Stesso problema, ma era necessario avviare VS2013 in modalità amministratore .


Purtroppo questo non mi ha aiutato.
AH.

16

Prova i seguenti passaggi:

  1. eliminare l'IISExpress cartella come detto @Yehuda Shapira
  2. riavvia il computer
  3. elimina la cartella .vs nel progetto

Buona fortuna!


1
1.Chiudi Visual Studio 2. Elimina cartella .vs che ha funzionato per me. Se elimino il dolder .vs mentre VS è aperto. Non funziona.
Akdora,

L'eliminazione della cartella .vs è l'unica cosa che ha funzionato per me. La cartella .vs si trova all'interno della cartella del progetto, ma è nascosta per impostazione predefinita.
George

15

Ho avuto lo stesso problema e poi ho aperto il task manager -> processi quindi ho ucciso il processo iisexpress.exe. Successivamente ho provato a eseguire l'applicazione e sono riuscito a eseguirla correttamente


14

Nel mio caso il progetto era sull'unità di rete e l'eliminazione della cartella IIS Express non ha aiutato come descritto in altre risposte. La mia soluzione alternativa stava copiando il progetto sull'unità locale e ha funzionato!


12

Ho avuto lo stesso problema, grazie a @Jacob per avermi dato informazioni.

Il motivo è: voce errata per il progetto nel file di configurazione applicationhost situato in

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. Chiudi tutte le soluzioni di Visual Studio.
  2. Rinomina la cartella IISExpress in una copia IISExpress (invece di eliminarla puoi averne una copia)
  3. Ora apri di nuovo VS e compila / esegui il debug del progetto, ora vedresti la cartella IISExpress creata di nuovo per te con la configurazione corretta.

Ha funzionato per me e spero che dovrebbe funzionare anche per te.


Ho provato i passaggi indicati nelle altre risposte, ma questo è quello che ha funzionato per me. Ho dovuto rinominare la IISExpresscartella. L'eliminazione non ha funzionato per me.
webworm il

non funziona per me. è iniziato tutto quando ho sbagliato con https
Toolkit

9

Ho avuto lo stesso problema, la causa era che il flag "sovrascrivi URL radice applicazione" era impostato in Proprietà -> Web Dopo aver rimosso il flag, IIS Express stava iniziando bene con la porta definita.


8

Sembra che tu abbia bisogno di fare un po 'di configurazione come sembra che tu stia usando SSL; ecco una guida dettagliata dello stesso Scott Hanselman .


@Roblll, non vedo Usa l'opzione IIS Express quando clicco con il tasto destro sul mio progetto MVC in VS 2012, l'ho visto in VS 2010. Cerco di abilitare SSL per la soluzione nelle finestre delle proprietà e dice che la proprietà non è valida. Inoltre, nel file applicationhost.config, vedo più voci per la mia applicazione come Webapplication (1), Webapplication (2), Webapplication (3)
DotnetSparrow

Ho avuto lo stesso problema e superato eseguendo VS2012 come amministratore ( stackoverflow.com/a/13682315 ). Non sono molto contento di quella soluzione, ma non sono riuscito a trovarne altri.
Brudert,

Nel mio progetto ho notato che lo stesso numero di porta era usato per SSL e non SSL. Quindi l'ho risolto e l'errore è scomparso.
orad

5

L'unica soluzione che ha funzionato per me è stata quella di creare un altro progetto di test. Quindi seguendo i passaggi seguenti:

  1. Fare clic con il tasto destro del mouse sul progetto e selezionare Proprietà -> Web

  2. Sotto l'URL del progetto nella sezione Usa server Web IIS locale, copia l'URL del progetto (http: // localhost: 59002 /) - questo proviene dal progetto di test.

  3. Passare al progetto che sta dando questo errore. Fare clic con il tasto destro del mouse sul progetto e selezionare Proprietà -> Web.

  4. Incollare l'URL del progetto nella sezione Usa server Web IIS locale (URL copiato dal progetto di test). Chiudi il progetto di prova e salva.

  5. Elimina il progetto di test ed esegui il progetto che ha dato l'errore. Funziona dopo che ...

Forse non è il modo migliore, ma era l'unico modo per farlo funzionare. Ho ricevuto questo messaggio di errore dopo aver ricaricato il mio laptop (il disco rigido si è bloccato) e ho ricevuto tutti i miei progetti dal server in cui erano ospitati.


Non so davvero cosa ho fatto alla mia soluzione, ma anche questo è stato l'unico modo per risolverlo. Ho anche provato a pasticciare con il comando netsh, eliminando la cartella IISExpress, avvia VS in modalità amministratore e nient'altro ha funzionato. Non so dove altro l'URL: port get mappato ma prendere l'URL del progetto di altri mi è sembrata l'unica soluzione.
Sergio A.,

5

Condividendolo per i futuri lettori. La creazione manuale di una directory virtuale ha funzionato per me.

  • Seleziona progetto in Esplora soluzioni
  • Premi Alt+Enter
  • Vai alla sezione Web
  • Fai clic su Crea directory virtuale

4

Nel mio caso dopo che ho consentito la richiesta esterna al mio sito Web IIS Express e configurato il firewall di Windows per consentire iisexpress.exe, non riesco ad avviarlo da Visual Studio 2013. Posso ancora avviarlo con la riga di comando e serve locale ed esterno richiede bene.

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

Ho provato a creare una regola firewall per consentire la mia porta, dopo che VS ha funzionato.


3

Ho avuto lo stesso problema con VS 2013 e anche dopo tutti i possibili tentativi non funzionava. Il mio problema è stato risolto da:

- 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.

Almeno puoi provarlo poiché ha funzionato per me.


3

Dopo due ore di ricerche sul web, ho trovato la mia soluzione come muggiti: chiudi Visual Studio - rimuovi la cartella .vs del tuo progetto - apri Visual Studio e riesegui il progetto

per me è un buon momento


2

Abbiamo avuto lo stesso problema con i nostri siti. Siamo riusciti a risolvere tutto questo all'interno di Visual Studio. Stiamo usando Ultimate 2012.

Il problema di fondo che abbiamo riscontrato è che con SSL abilitato, per qualche motivo, VS stava assegnando la stessa porta per gli URL standard e sicuri. Questo problema sembrava sorgere quando stavamo estraendo il codice da TFS.

Per rimediare, abbiamo intrapreso i seguenti passi:

  1. Fare clic con il tasto destro del mouse sul progetto e selezionare Proprietà -> Web
  2. Sotto l'URL del progetto nella sezione Usa server Web IIS locale , rimuovere la "s" dall'URL e salvare. (Ad esempio, passare da https: // : 44301 a http: // : 44301. Ciò consentirà il passaggio successivo per funzionare)
  3. In Esplora soluzioni, selezionare il Progetto e nella finestra Proprietà (premere F4 se non visualizzato), modificare SSL abilitato su Falso, quindi di nuovo su Vero . Genererà una nuova porta diversa dall'URL standard (nel mio caso, ho 44301 come SSL e 44305 come standard)
  4. Torna a Proprietà -> Web e aggiungi la "s" all'URL del progetto.
  5. F5 e cavalca!

Assicurarsi che la casella di controllo per Sostituisci URL radice applicazione sia deselezionata.


2

controllare il firewall antivirus e consentire l'accesso a Visual Studio alla rete. ad esempio in nod32:

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

nel " zone and rule editor" clic " setup" e trova il vs 2010o 12o ... e consenti l'accesso alla rete.


2

Dopo aver disabilitato il firewall sono stato in grado di eseguirlo senza problemi.


2

Mi sono imbattuto in questo errore oggi. Con Win 8.1 e VS 2013. Improvvisamente i miei progetti non sono più riusciti e ho ricevuto il messaggio "Impossibile avviare il server Web IIS Express" e nessuna ulteriore informazione.

Dopo un po 'ho scoperto che tutti i progetti che IIS Express non potevano avviare erano in esecuzione .net 3.5. I progetti con versioni successive sono iniziati correttamente.

La soluzione per me è stata quella di rimuovere .net 3.5 (dal pannello di controllo -> attiva / disattiva le funzionalità di Windows), riavvia Windows e aggiungi nuovamente .net 3.5.


2

Ho avuto lo stesso problema, nel mio caso ho appena pulito e poi ricostruito la mia soluzione e ha funzionato per me


2

Beh, nessuno dei passaggi sopra menzionati ha funzionato per me. Nel mio caso il mio applicationhost.configfile mancava in qualche modo delle seguenti due righe di codice

 <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" />

Spero che questo possa aiutare qualcuno.


2

Prima di provare qualcos'altro, assicurarsi di 1. riavviare Visual Studio (principalmente per aggiornare le opzioni residenti in memoria dai file) e 2. Riavviare il sistema (principalmente per il blocco dei file non valido). Se il tuo problema è così temporaneo o auto-risolto, questi faranno senza cambiare nulla. Ha funzionato per me con il riavvio del PC. Inoltre, se lavori su un progetto multiutente, assicurati di disporre dell'ultima versione realizzabile: qualcun altro potrebbe aver registrato qualcosa di non valido per errore, ad esempio nel file di progetto, e potresti avere problemi con il tuo sistema senza motivo. Se quelli non funzionano, allora probabilmente dovrai modificare alcune impostazioni che sono bloccate, mancanti o necessitano di modifiche - ci sono molte proposte su altre risposte.


1

Ho avuto un problema simile durante l'esecuzione della mia soluzione da VS2012:

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

Ho selezionato il progetto errato come Progetto di avvio. Ho creato il progetto Cloud come Startup (tasto destro del mouse sul progetto -> Imposta come progetto di avvio) e tutto ha iniziato a funzionare correttamente.


Dovrebbe anche aggiungere che l'URL di avvio dovrebbe essere impostato o impostato su "Pagina corrente" o "Pagina specifica" - almeno selezionato. Il mio era impostato su "Non aprire una pagina. Attendi una richiesta da un'applicazione esterna" e di conseguenza ho riscontrato questo errore, oltre al problema del progetto di avvio.
vapcguy,

@Moumit hai votato in giù questo? Puoi spiegare il tuo commento?
scottndecker,

1

La serie di articoli di Jason's Shavers qui http://jasonrshaver.com/?tag=/Client+Certificates spiega esattamente come impostare la voce del sito applicationhost.config per consentire all'applicazione di essere eseguita in ssl o http standard.

Una delle cose che raccomanda è di inserire due voci vincolanti per il sito. Questo è quello che ho fatto.

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

Raccomanda inoltre di modificare anche altre impostazioni. Ha funzionato su due delle mie tre macchine. Ogni volta che mi viene detto di configurare manualmente un sito nell'host dell'applicazione, di solito ha a che fare con i binding. (esempio utilizzando la stessa porta per più app Web.)


1

Ho avuto lo stesso problema dopo l'installazione dell'aggiornamento 3. Visual Studio 2013 3. Il
VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
Unable to launch the IIS Express Web server

mio problema è stato risolto procedendo come segue:

1. Riparazione Visual Studio 2013 Update 3
2. Avvia Developer Command Promptcome amministratore.
3. Digitare devenv.exe /setupquindi premere Invio


1

Ho avuto lo stesso problema. Avevo eliminato molte cartelle sotto il C:/users/percorso per liberare spazio sulla mia macchina. Dopo di che ho iniziato a ricevere questo errore.

Ho dovuto solo riavviare la mia macchina e tutto ha funzionato bene.


1

Il mio problema richiedeva una soluzione tripla:

  1. Rimuovere la cartella IISExpress dalla cartella Documenti.
  2. Impostare il progetto Web come progetto di avvio facendo clic con il pulsante destro del mouse su di esso e selezionare "Imposta come progetto di avvio" oppure farlo tramite le proprietà della soluzione.
  3. Impostare l'URL di avvio o impostare su "Pagina corrente" o "Pagina specifica". Il mio era impostato su "Non aprire una pagina. Attendi una richiesta da un'applicazione esterna" e ho dovuto cambiarlo in "Pagina specifica", che lascio vuoto in modo che andrà alla home page della mia app, prima che lavoro.

1

Il mio problema è stato infine risolto quando ho guardato la chiave di registro IIS Express:

HKEY_CURRENT_USER\Software\Microsoft\IISExpress

Avevo una voce che CustomUserHomepuntava a I miei siti Web che stava causando il caos.


1

Configuravo Condivisione connessione Internet sul mio computer per macchine virtuali. L'ho spento e sono stato in grado di eseguire il debug in Visual Studio 2015 . Tuttavia, per eseguire il debug in modo coerente dopo un riavvio, è necessario impostare il servizio Condivisione connessione Internet per l'avvio manuale, anche se nessuna delle mie connessioni Internet aveva la Condivisione connessione Internet abilitata.

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.