“Impossibile avviare IIS Express server Web.” in Visual Studio

Ho tentato di eseguire il servizio web in visual studio. Ho affrontato un problema simile :

---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.

Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)

---------------------------
OK   
---------------------------

Ho visto il task manager e trovato che il PID 4 è utilizzato dal Sistema e la sua Descrizione è NT Kernel & System.
Così ho provato a interrompere il http service.
Tutti i servizi di dipendenza fermato. Ma mi trovo di fronte a un problema di interruzione del servizio http, come

The service is starting or stopping.  Please try again later.

Così, ho provato a interrompere e avviare il servizio manualmente. Ma alla Fine del processo è disattivato.
Sarà utile se qualcuno potrebbe aiutare con questo problema

InformationsquelleAutor Priya | 2015-03-18

 

14 Replies
  1. 96

    Da https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/

    Codice di errore 0x80070020 significa ERROR_SHARING_VIOLATION, che in caso di IIS Express (o IIS) significa che la porta che si tenta di ascoltare è utilizzato da un altro processo.

    Utilizzare il netstat comando per scoprire quale applicazione sta utilizzando la porta.

    netstat -ao | findstr <port_number_to_search_for>
    

    Il a parametro indica il comando netstat per visualizzare tutte le connessioni e le porte in ascolto.

    Il o parametro indica il comando netstat per visualizzare l’ID del processo associato con la connessione.

    Eseguendo il comando netstat produrrà un output come:

    C:\>netstat -ao | findstr 4026
    TCP    12.0.0.1:4026        cs-pc:4026         LISTENING       9544
    

    L’ultimo numero visualizzato (9544 qui) è l’ID di processo.

    • Grande risposta!!! Non solo si fa a descrivere la soluzione, anche, il significato dei parametri. Auguro a tutti delle risposte erano come questo!
    • Questa soluzione non mi aiuta. Ma ho aperto il progetto con VS2010 invece di VS2015 e aiuta.
    • Questo mi ha aiutato, e si è scoperto che causano problemi di PID è stato Chrome.exe. Ho riavviato Chrome e il problema è andato via.
    • …e poi cosa? ID processo 9544. Che cosa significa?
    • Grande risposta. Utilizzando questo ho scoperto che skype è stato l’ascolto di entrambe le porte 80 e 443. Ho ucciso skype ed era quindi in grado di lanciare iisexpress come normale, mostrando ora il mio extra associazioni per le porte 80 e 443
    • Sono d’accordo che sarebbe utile per la risposta a dirti cosa fare una volta che hai l’ID di processo. In Windows, ogni processo ha un ID di processo, che può essere trovato eseguendo il comando “tasklist” nel prompt dei comandi. Poiché si conosce l’ID, poi si poteva vedere che il processo sta cercando di utilizzare la stessa porta.
    • l’esecuzione in una finestra cmd con privilegi elevati TASKKILL /PID 2756 /F sostituire 2756 con il tuo ID di processo
    • Perché explorer.exe utilizzare qualsiasi porta, interessante. Grazie per la soluzione.
    • Questo può essere reso molto più veloce con il -n switch — usa “numerico” di uscita, il che significa che non perde tempo per l’esecuzione di query DNS per risolvere gli indirizzi IP in nomi host.
    • Ho appena fatto come @astrosteve e il riavvio di chrome (utilizzando vs2017 su win10)
    • Volevo solo dire ad altri che questo non ha trovato nulla che utilizzano la porta, ma cambiando la porta localhost correva sul fatto di risolvere il problema. Quindi, se tutto il resto fallisce, basta cambiare comunque.
    • Nel mio caso la porta 50393 è stato utilizzato da una connessione desktop remoto

  2. 24

    Ho avuto lo stesso problema. Ho appena riavviato Visual Studio e ha funzionato.

    • Il mio computer ha ricominciato da aggiornamenti e netstat ha mostrato alcun processo utilizzando la porta. Questo era unica soluzione che ha funzionato. Grazie!
    • ho dovuto riavviare la mia macchina anche
    • Sorprendentemente riavviare Visual Studio (per il 2017), ha funzionato bene per me. Grazie!
    • Nel mio caso, il mio Windows 10 scatola blu-schermato, e ho dovuto riavviare il doppio. Altri progetti di sito web funzionato bene (diversi locali di porta), e nessuna delle altre risposte qui ha funzionato. Cambiare la porta per il progetto non risolvere il problema o. Ci deve essere qualche altra config in IIS esprimersi.
  3. 17

    Ho avuto lo stesso Problema. Come @Kautsky Lozano menziona sopra utilizza un’Altra applicazione che porta.

    Così [per un di Windows OS] solo:

    • Open Resource Monitor (Task Manager -> Prestazioni -> Open Resource Monitor )
    • Fare clic sul Rete scheda.
    • E Connessioni TCP trovare l’applicazione che utilizza la Porta Locale che IIS Express utilizza e chiudere. (era firefox sul mio caso)
    • Ha funzionato perfettamente!
    • Grazie uomo! Ha funzionato perfettamente bene per me!
  4. 9

    Mi sono imbattuto nello stesso problema dopo aver aggiornato una soluzione di Visual Studio 2012 e il 2015. Mi era venuto qui e corse netstat solo per scoprire che nessun altra applicazione utilizzando le stesse porte. Si scopre che ho avuto gli stessi siti con le stesse porte mappate in applicationhost.config a Users/<username>/Documents/IISExpress/config e il applicationhost.config in .vs cartella dentro la mia soluzione. Devo notare che il problema non è iniziare subito dopo l’aggiornamento sia. Semplicemente non riuscire sempre uno mattina. Un paio di riavvii non sembra risolvere il problema.

    Rimozione del conflitto siti da quello memorizzato nella cartella Documenti e riavviare Visual Studio risolto il problema.

    • Questo mi ha aiutato: il applicationhost.config è in .vs\config nella cartella cartella soluzione.
  5. 2

    Ho avuto questo problema quando l’aggiornamento di un progetto MVC. Ho copiato la più recente MVC .csproj sopra la mia esistenti .csproj file, quindi si lavora avanti per un Progetto. Quello che ho omesso di prendere in considerazione è l’attuale numero di porta nel vecchio .csproj. Il nuovo progetto ha avuto un nuovo numero di porta, ma condiviso il Progetto/il Nome dell’Assembly. Che è stato sufficiente a far IIS Express perdere la sua mente e buttare questa eccezione.

    Solo a scavare il porto vecchio numero di git e modifica dell’IIS Express URL includere nelle Impostazioni del Progetto è stato sufficiente a risolvere il problema.

  6. 2

    Il modo più semplice prima di passare a questo senza entrare nella console di comando è quello di chiudere tutte le applicazioni (tra cui VS), per poi lanciare VS da solo e provare di nuovo. C’è probabilmente un’altra applicazione, come il browser che causa il conflitto.
    Nel mio caso Chrome ha provocato e si è risolto quando l’arresto e il riavvio di VS. Ho aperto Chrome e tutto andava bene.

    Netstat roba di cui sopra è utile, ma per me è solo se non è possibile fare quello che sto suggerendo.

  7. 2

    riassumere tutte le risposte. Ci sono 2 soluzioni. Entrambi hanno lavorato per me.
    Soluzione #1 terminare l’applicazione che utilizza la stessa porta.
    Soluzione #2 Configurare IIS Express per utilizzare una porta diversa per il vostro progetto.

    Soluzione #1
    (supponendo che la porta nel messaggio di errore è stato 443)
    Eseguire la riga di comando:

    netstat -ao | findstr 443
    

    restituisce: TCP 0.0.0.0:443 pe01:0 LISTENING 2904
    L’ultimo numero (grazie a @chris-schiffhauer) è il PID per uccidere. Andare al Task Manager -> Processi -> [Mostra i Processi di Tutti gli utenti], Uccidere un processo con PID=2904. Nel mio caso, è stata host VmWare.

    Soluzione #2
    (Supponendo che il messaggio era: non è Riuscito a registrare URL “http://localhost:433/” per il sito “MyProject.Website0″…).
    Aprire i seguenti file in notedpad++: C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config Trovare in esso una riga contenente:

    <site name="MyProject.Website0" id="...
    ...
                <bindings>
                    <binding protocol="http" bindingInformation="*:80:localhost" />
                    <binding protocol="https" bindingInformation="*:443:localhost" />
                </bindings>
    

    Modificare 433 a qualcos’altro, come 4330 o eliminare il conflitto <binding.../> tag.

  8. 1

    Ho appena avuto questo problema, anche se netstat non ha mostrato alcun conflitto.

    Seguenti fisso per me:

    1. Chiudere Visual Studio
    2. Aprire Esplora File
    3. Passare alla cartella di offendere progetto
    4. Eliminare il obj e bin cartelle
    5. Eliminare il *.utente file (questo è probabilmente opzionale)
    6. Riavviare Visual Studio e riprovare
  9. 0

    Ho provato le seguenti: già,

    • Riavviare Visual Studio
    • Controllare tutte le porte disponibili, che potrebbero essere in ascolto al mio numero specifico, ma sempre tornare zero risultati. Nessun processo è in ascolto nella mia porta.
    • Ho anche provato con questo ma zero risultati.

      netstat -aon | find “:80”

    • Ho anche provato, ma anche restituire zero risultati.

      netstat -ao | findstr

    Quindi cosa ho fatto eliminare questo “Microsoft.VsHub.Server.HttpHostx64.exe” quindi il mio progetto avviato con successo e di lanciare browser. L’errore è stato risolto. Io non sono sicuro perché, ma funziona.

    Ecco lo screenshot:

    “Impossibile avviare IIS Express server Web.” in Visual Studio

  10. 0

    Sono stato in grado di risolvere questo problema rimuovendo tutto da <site> per </site> tag

    Users/<username>/Documents/IISExpress/config/applicatiohost.config file

    <sites>
      <site>
         .
         .   ===> remove this content including the <site> and </site> tags.
         .
      </site>
    </sites>
    
  11. 0

    Aver sprecato mezza giornata cercando di risolvere questo stesso problema, mi sento di dover aggiungere la soluzione che finalmente ha funzionato per me.

    TL;DR Se netstatindica che la problematica non è in uso, ancora provare un paio di altri in un modo completamente diverso di gamma

    Ho eseguito in questo problema prima, ma di solito trovare riavviare visual studio, cambiando le porte (incremento di 1) o il riavvio di fare il trucco. Tuttavia, in questa occasione, niente di tutto questo ha aiutato, e netstat non era trovare un processo in conflitto. Ho anche reinstallato IIS e visual studio e rimosso diversi altri programmi che ho il sospetto potrebbe interferire. Sembrava come se IIS è stato il tentativo di avviare più istanze di uno stesso sito.

    Alla fine ho provato a correre netstat senza findstr. Ho percorse l’elenco dei porti e ho notato che anche se quelli che ho provato non sono stati elencati, c’erano un paio di processi, utilizzando le porte di simile. Così, invece ho guardato per una serie che era libero, scelto un numero di porta e che sembra essere ora di lavoro.

    Mi piacerebbe sentire se qualcuno può spiegare perché questo potrebbe aver funzionato?

  12. 0

    Nel mio caso, facendo il seguente fatto il trucco:

    • Eliminare il Sito dal .vs\\config\applicationhost.config
    • Eliminare il Sito da Documenti\IISExpress\config\applicationhost.config
    • Eliminare il IISUrl dal .csproj

    Quando ho riavviato Visual Studio, ha assegnato il progetto completamente nuovo numero di porta e corse perfettamente

Lascia un commento