ASP.NET 5 MVC: impossibile connettersi al server Web "IIS Express"


190

Cosa sto facendo:

L'eliminazione applicationhost.config, che si trova in Documents\IISExpress\config, non modifica il messaggio di errore. (C'è anche una IISExpresscartella in program filese program files (x86).)

Qualcosa che ho notato e non so se è un problema:

File di riferimento "lib / jquery-validation / jquery.validate.js" non trovato.

Ho una discarica con rawcap ma non mi accorgo molto. Alcuni di ciò che era lì:

"Framework": {"FrameworkName": "DNXCore, Version = v5.0", "FriendlyName": "DNX Core 5.0", "ShortName": "dnxcore50", "RedistListPath": null}

Non noto un problema, ma ho i dati di rete se ciò può aiutare a capire perché non riesco a collegarmi al web server. Ottengo RST,ACKimmediatamente quindi suppongo che la porta sia chiusa e qualunque cosa sia questo web server, non viene configurato.

Altre informazioni su questo problema: errore 800700c1 da / trace: errore

Ho provato:

  • eliminazione di applicationhost.config (e modifica del numero di porta)
  • esecuzione di Visual Studio come amministratore
  • eliminazione della cartella IISExpress in Documenti (modifica il messaggio di errore fino alla reinstallazione della cartella)
  • attiva e disattiva SSL, copiando l'URL nella casella di avvio. (nota: non sto usando SSL)
  • cancellare tutti gli errori sfc / scannow
  • a partire da iisexpress con versione x86 e versione a 64 bit


1
prova quando apri Visual Studio fai clic destro e apri come amministratore ..
Hazem Torab,

Sto provando tutti i suggerimenti che le persone mi danno anche se ho provato prima.
Sarek,

puoi aprire un nuovo progetto e verificare se funziona? Riavvia il PC? Sposta il progetto in un'altra directory
Sebastian 506563,

1
Grazie ma anche quello non ha funzionato.
Sarek,

Risposte:


254

Dopo aver installato l'aggiornamento 2 per Visual Studio 2015 ho iniziato a ricevere lo stesso errore. Ho provato tutto sopra senza fortuna. Tuttavia, ho trovato una soluzione che funziona per me:

  1. Elimina YourSolutionFolder \ .vs \ config \ applicationhost.config (nota: .vs è una cartella nascosta)
  2. Apri Visual Studio, fai clic con il pulsante destro del mouse sul sito Web> Proprietà> scheda Debug> Impostazioni server Web> URL app: modifica il numero di porta.

Amico, il mio errore è tornato, l'ho trovato anche su un altro sito, ma continua a dare il maledetto errore. Mi fa incazzare. Avrei eseguito la console Web, ma questo non ha un watcher, quindi posso solo ctrl + s, aggiornare.
René Sackers,

Oh mio Dio, funziona. Ho eliminato la cartella IISExpress nei miei documenti, quindi ho eliminato quel file, quindi ho iniziato a ricevere questo errore, ma la risposta accettata è stata la soluzione: stackoverflow.com/questions/33166403/… e ora funziona: |
René Sackers,

3
Per me lo era.vs\config\<MyProject>\config\applicationhost.config
laggingreflex,

2
dove vedi web siteche è necessario fare clic destro su?
CodyBugstein,

14
Per il progetto Net Core 2.2 - Dopo una lotta MASSIVA e tentando di tutto dall'eliminazione della cartella .vs, dall'eliminazione delle configurazioni di IIS Express, dalla modifica dei numeri di porta, dalla modifica dei collegamenti e dall'esecuzione di VS come amministratore, ho risolto il problema FINALMENTE 1. chiudendo VS, 2. eliminando launchSettings.json3. apertura VS che è stata rigenerata launchSettings.json. Non era evidente che il file fosse corrotto o errato o anche quando è cambiato per causare errori.
Quinton Smith,

189

Esci da VS ed elimina il file (project) .vs \ applicationhost.config. Riavvia VS. Dovrebbe iniziare a funzionare.


19
Questo ha funzionato per me in VS2017, senza dover cambiare la porta.
mlienau,

4
Dopo aver fatto questo per me era necessario eseguire Visual Studio come amministratore e ha funzionato, grazie!
DigaoParceiro,

5
Soprattutto il RUN AS AMMINISTRATOR è importante per me. (Anche se ho Asp.net Core 2.0 VS2017.
Bart Mensfort,

1
.vsHo eliminato l'intera cartella e ha funzionato per me, solo per quello
FindOutIslamNow,

9
Il riavvio di VS2017 non è stato risolto ma il riavvio del computer ha risolto il problema per me. Non è necessario modificare la porta o eliminare la cartella. Spero che aiuti gli altri.
Tonmoy,

32

Prova a utilizzare una porta diversa. Ho appena creato un nuovo progetto Core 1.0 RC1 e ho avuto lo stesso errore.

  • Fare clic con il tasto destro del mouse sul progetto Web
  • Scheda Debug
  • Attiva e disattiva Abilita SSL, dovrebbe generare una nuova porta casuale
  • Copia l'URL SSL e incollalo nella casella Avvia URL
  • Esegui il progetto

Ha funzionato per me (TM).

Risposta da: https://stackoverflow.com/a/28650554/134761

inserisci qui la descrizione dell'immagine


1
Ha funzionato ma solo quando ho usato la porta 60000. errore restituito porta 6000: porta non sicura.
EKanadily,

Non ha funzionato in Visual Studio 2019: ha sempre usato la stessa porta ogni volta.
EJoshuaS - Ripristina Monica

@ EJoshuaS-ReinstateMonica Credo che questo sia cambiato molto. Dai un'occhiata a come Startupè configurata la tua classe e quali appsettings.jsonfile hai. È inoltre Properties\launchSettings.jsonnecessario avviare diversi profili localmente. docs.microsoft.com/en-us/aspnet/core/fundamentals/... dejanstojanovic.net/aspnet/2018/december/...
angularsen

27

Ho riscontrato questo problema in .net core 2.0 quando aggiorno il numero di porta del mio progetto.

Sono stato in grado di risolvere il problema in due passaggi:

  • PASSAGGIO 1: ELIMINA la cartella .vs che è nascosta nella cartella della soluzione principale. (chiudi Visual Studio prima di questo) quindi quando riavvii Visual Studio, questa cartella e questo file (applicationhost.config) al suo interno verranno automaticamente creati da Visual Studio.
  • PASSAGGIO 2: per più progetti di avvio , se il problema persiste, eseguire uno a uno il progetto come avvio, quindi eseguire come progetto di avvio multiplo.

La soluzione ha funzionato. Grazie :) Che ne dici di ELIMINARE anche la cartella .git?
krunal.cp,

24

Ho avuto questo problema su .net core 2.1, versione Visual Studio 15.9.6. Quando ho eliminato la cartella .vs, ho riaperto Visual Studio e il problema era ancora presente. Di seguito la soluzione che ha funzionato per me:

  1. Elimina la cartella .vs (è una cartella nascosta).
  2. Riavvia il computer.

Altre soluzioni:

  • Chiudi Visual Studio, elimina le cartelle bin e obj dalla cartella del progetto. Apri Progetto quindi ricostruisci la soluzione.
  • Prova a eseguire Visual Studio come amministratore.
  • Soluzione pulita quindi ricostruzione
  • 1) Soluzione pulita. 2) Esci da Visual Studio. 3) elimina la cartella .vs 4) Riapri Visual Studio

Sono stato in grado di farlo chiudendo solo Visual Studio, eliminando la cartella .vs, dichiarando nuovamente Visual Studio.
Robert Bratton,

Sì, per alcuni non funziona nel mio caso. Non ho idea del perché non abbia funzionato. L'unica cosa che ha fatto è stato il riavvio del mio computer.
Daniaal,

2
Capito dopo uno schermo blu. Ho dovuto eliminare la cartella .vs e riavviare il computer . Il riavvio di Visual Studio non è stato sufficiente.
johnb

2
I miei passi sono stati compressi in: 1) Soluzione pulita. 2) Esci da Visual Studio. 3) elimina la cartella
.vs

1
@samneric Grazie per questo, aggiungerò la soluzione alla risposta :)
Daniaal

13

Esegui VisualStudio con i privilegi di amministratore ed esegui il progetto. Quindi chiudere VisualStudio e tutti gli errori ed eseguire nuovamente VisualStudio con l'utente normale.

Questo è stato per me.

Sembra che IIS debba scrivere qualcosa in qualche configurazione con privilegi di amministratore (la porta 80 non funzionava con l'utente normale ma la porta 6767 funzionava bene).


5
Solo le autorizzazioni di amministratore consentono all'applicazione di associarsi a un numero di porta inferiore a 1024. Ecco perché 6767 funziona per te.
Lex Li

12

Ho avuto lo stesso problema, sono stato in grado di risolverlo cambiando il numero di porta.

  1. Fare clic con il tasto destro sul progetto e selezionare le proprietà

  2. Vai alla sezione Debug

  3. In Impostazioni server Web cambia la porta dell'URL dell'app [aumenta di uno solo :)]

inserisci qui la descrizione dell'immagine


10

Nel mio caso quella era un'altra applicazione in ascolto sulla stessa porta a cui IIS Express cercava di collegarsi. Devo correre netstat -aoper vedere il PID del processo che utilizza la stessa porta e la stessa applicazione di arresto. Nel mio caso l'applicazione era Viber.


10

La soluzione che ha funzionato per me era: Chiudere il progetto VS In Esplora file, navigare al progetto ed eliminare l'intera cartella ".vs" Riavvia il progetto Esegui come funziona "Debug" Apparentemente, ha qualcosa a che fare con "applicationhost .config "file.

Godere!


10

Molte di queste risposte non affrontano completamente il problema in questione. Il vero problema per me era che avevo due associazioni usando la stessa porta nel mio file applicationhost.config E non avevo aperto la porta alla mia seconda associazione (non localhost) . VS ti consentirà di eseguire ancora in queste circostanze, ma solo se sei in modalità amministratore (quindi tutte le risposte sopra).

Stai essenzialmente creando due istanze IIS express della tua app sulla stessa porta, quindi la modifica di una delle porte nel tuo file applicationhost.config ti consentirà di procedere. Esistono tuttavia due file applicationhost.config diversi. Dovrai selezionare quello che ha l'IP e la porta vincolanti che vedi nelle proprietà del tuo progetto

inserisci qui la descrizione dell'immagine.

Vai alla cartella in cui puoi vedere la soluzione del tuo progetto e le cartelle del progetto (mostra gli elementi nascosti in Esplora file). Passare alla cartella nascosta .vs -> cartella "NomeApp" "-> config. Dovrebbe contenere le informazioni di associazione che hai visto nelle proprietà del tuo progetto.

Esempio:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

Cambia uno di quei numeri di porta in qualcosa di diverso da "7000" in modo da non provare a usare la stessa porta.

Nel mio caso, sto usando un indirizzo 192 che non è un indirizzo localhost, quindi ho bisogno di usare alcuni comandi netsh per aprire quella porta e ip up. Ecco un collegamento che mostra come aprire le porte per IIS Express per consentire la connessione remota. L'esecuzione come utente normale non funzionerà se non si eseguono i comandi netsh elencati.

Ecco i comandi netsh:

  1. netsh http add urlacl url = http://192.168.1.42:58938/ user = Everyone
  2. netsh advfirewall firewall add rule name = "IISExpressWeb" dir = in protocol = tcp localport = 58938 profile = private remoteip = localsubnet action = allow

Copia quei comandi ed eseguili in cmd con i privilegi ADMIN e con il TUO indirizzo IP e numero di porta.


Questa è stata la soluzione per me, grazie
WeisserHund,

8

Ho appena cambiato il mio profilo da "IIS Express" a "MyProjectName" (che penso stia usando Kestrel come server http anziché IIS) e ora funziona bene:

inserisci qui la descrizione dell'immagine


Questa non è una soluzione, ma una soluzione alternativa. La tua risposta suggerisce di utilizzare server diversi - Kestrel - mentre OP sta chiaramente cercando di far funzionare IIS-Express.
Prolog,

2
Dopo tre giorni di spennatura, questa soluzione mi ha aiutato. Grazie
Meir

7

CHIARIRE

Molte risposte qui sono le stesse e dicono qualcosa come "Riavvia e funziona magicamente di nuovo".

Bene, 9 persone su 10 hanno questo problema come l'OP perché l'IP-INDIRIZZO È GIÀ IN USO.

RISPOSTA

Potrebbero esserci 2 indirizzi IP in uso. Potete trovarli entrambi:

1) Fare clic con il tasto destro del mouse sul progetto di avvio

2) Fare clic su "Proprietà"

3) Fare clic sulla scheda "Debug"

Qui vedi il tuo "URL app" e il tuo "URL SSL".

  • Se il tuo "URL app" è in uso, basta modificarlo lì e salvarlo e dovrebbe funzionare di nuovo.

  • Se il tuo "URL SSL" è in uso, chiudi VS, elimina il file "applicationhost.config" nella cartella nascosta .vs del tuo progetto e apri nuovamente VS.


6

Sono stato in grado di attivare questo errore cambiando una sola cosa. Nel mio launchSettings.jsonfile di progetto dell'applicazione Web ASP.Net Core 1.0 RC2 :

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:18177/",
      "sslPort": 0
    }
  },

per

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:18177/",
      "sslPort": 0
    }
  },

Sono stato modificato in https nel tentativo di eseguire il progetto utilizzando quel protocollo. Apparentemente questo non è il posto giusto per fare quel cambiamento. Sospetto che stia creando più binding sulla stessa porta, e IIS Express non piace.


Ho dovuto fare questo per aumentare il numero di porta. il mio post originale era "bloccato" e non ho tempo di riavviare o capire come risolverlo
Simon_Weaver

6

Ho avuto lo stesso problema, ma il modo in cui l'ho risolto era andando su applicationhost.config e rimuovendo una porta che non era stata aggiunta da me (immagino IIS Express) che posizionava il mio sito di porta specifico su un'altra porta.

Ecco cosa aveva il file di configurazione per i miei collegamenti:

<bindings>
      <binding protocol="http" bindingInformation="*:54764:localhost" />
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Ho rimosso il primo elemento di bind perché l'unica porta che volevo era 44360. Il mio file di configurazione ora è simile al seguente:

<bindings>
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Ora non vedo l'errore quando eseguo il debug.

Ho anche notato che la mia seconda API nel mio progetto aveva anche la porta 80 assegnata, l'ho rimossa anch'essa.


5

eliminare le cartelle bin e obj dalla cartella del progetto e ricostruire.


Anche se una pulizia manuale spesso aiuta, in questo caso non risolverà il problema poiché il problema risiede nel file applicationhost.config ed è probabilmente causato dal tentativo di utilizzare lo stesso indirizzo IP due volte
MedievalCoder

5

Ho appena ripulito la mia soluzione, poi l'ho ricostruita e finalmente ho colpito F5 e ha funzionato! Così semplice.


4

Non pretendo di comprendere appieno quale bug di MS crea questo problema, ma ecco un'altra potenziale soluzione:

Nel file .vs / config / applicationHost.config, trova la sezione per <system.applicationHost><applicationPools>. Sotto i pool, assicurarsi che il managedRuntimeVersionvalore dell'attributo corrisponda al valore presente nella configurazione IIS per il sistema (e / o la versione del framework .NET installato).

Ad esempio, potresti scoprire (come ho fatto io) che il file generato ha:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

Nel mio caso, lo sostituiresti con:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

Notare la sostituzione da "v4.0" a "v4.0.30319". Questo ha risolto il problema.


Cosa sembra succedere:

Credo che VS stia generando un file applicationHost.config con versioni "predefinite" per il framework .NET, che potrebbe non corrispondere alla versione specifica installata / configurata sul sistema. È possibile eseguire il debug / osservare questo problema tracciando l'esecuzione in Process Monitor e trovando la riga di comando per iisexpress.exe. L'esecuzione di questo comando con l' /trace:erroraggiunta produce un messaggio più informativo su un errore nel precaricamento del CLR con la versione v4.0. Per dire:

Avvio di IIS Express ...
Errore durante il tentativo di precaricare CLR versione v4.0. hr = 80131700
Impossibile inizializzare W3WP_HOST hr = 80131700
Arresto del modello di processo chiamato
Impossibile avviare iisexpress.


Ad ogni modo, ho pensato che questo potesse essere utile a qualcun altro, dal momento che è abbastanza comune avere più riferimenti online con informazioni sbagliate, e l'ho colpito personalmente alcune volte ora.


Nessuna di queste soluzioni ha funzionato per me, se hai installato Windows IIS predefinito (che viene fornito con Windows) e hai accesso ad esso, prova ad usarlo, che ha risolto il mio problema, aggiungi semplicemente un nuovo sito Web o una nuova applicazione lì e il gioco è fatto, comunque è strano che IIS Express non sia in grado di aprire la pagina. Se è necessario rintracciarlo, basta collegarlo a un processo utilizzando i ctrl + alt + ptasti di scelta rapida Show process for all userse selezionare e selezionare w3wp.exe(a volte è necessario aggiornare il sito Web per trovare w3wp.exe), quindi Attachpremere il pulsante.
Mohammad Musavi,

3

Prova questo prima se funzionava e improvvisamente si fermava:

  • Chiudi Visual Studio
  • Kill i processi iisexpress.exe
  • Riapri Visual Studio

3

Il mio succede non appena aggiungo un nuovo binding all'interno di applicationhost.config, in esecuzione come amministratore risolto il problema.



3

Per me il problema era che un altro processo utilizzava la stessa porta. (Nel mio caso era Outlook che utilizzava la stessa porta del mio sito e quindi il mio sito non poteva iniziare)

Sì, puoi cambiare la porta locale, ma se stai eseguendo un'API o qualcosa di cui altre applicazioni hanno bisogno, non sempre vuoi farlo.

Per ottenere un elenco di quali applicazioni stanno utilizzando quale porta aprire CMD e digitare "netstat -aon" Verrà visualizzato un elenco di porte. Trova la porta che il tuo sito dovrebbe utilizzare o che desideri utilizzare e annota / ricorda il PID.

Ora apri Task Manager e fai clic sulla scheda 'dettagli'. Trova il processo con il tuo PID e terminalo. Ora dovresti essere in grado di avviare IIS Express con quella porta.


3

Sono stato in grado di risolverlo riavviando il mio computer. Ho provato alcune cose senza successo e alla fine ho rinunciato e riavviato il mio computer. Funziona bene ormai da un paio di giorni dopo il riavvio. Probabilmente il risultato di un processo che è stato sospeso.


3

Per me, è stata una miscela di seguire queste istruzioni :

Elimina .vs \ applicationhost.config dell'applicazione web e riprova.

E poi, forse ancora più importante, eseguire Visual Studio con privilegi di amministratore.


3

Ho aggiunto .UseUrls("https://localhost:<some port>/")a Program.cs. Questo sembrava fare il trucco per me!


2

Ho semplicemente attivato "Abilita SSL". Questo ha risolto il mio problema.

  1. Fare clic con il tasto destro del mouse sul progetto Web
  2. Scheda Debug
  3. Attiva / disattiva Abilita SSL "on" (se è spento, che era il mio caso)

2

Ho appena riscontrato lo stesso problema e ho eliminato tutti i processi "iisexpress.exe" ancora in esecuzione. Ha funzionato per me!


2

La mia soluzione (per .net core 2.0) era che avevo dimenticato di aggiungere il numero di porta in applicationUrl, sotto iisExpress in launchSettings.json

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}

Quando launchSettings.jsonviene generato o aggiornato automaticamente da VS, applicationUrldovrebbe avere /alla fine. Ulteriori informazioni sono disponibili in blog.lextudio.com/…
Lex Li

2

Il problema potrebbe essere dovuto al fatto che è [√] Enabled SSLstato selezionato per il tuo progetto (vedi la Debugscheda nella finestra delle impostazioni del progetto), ma Visual Studio decide di essere stupido e configurare qualcosa di simile http://localhost:32396. Il motivo per cui fallisce è perché 1. non lo è HTTPSe 2. il certificato non è valido. Per forzarlo, è necessario utilizzare una porta nell'intervallo 44300-44398.

Vedi https://stackoverflow.com/a/24957146/1236397



1

Prova in cmd

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

e premere f5. Non cambio porte, elimino file o riavvio VS.


Potrebbe essere spiegarti che rispondi un po '. Basta uccidere il processo potrebbe non essere la risposta qui. E dopo?
Shiham,
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.