ASP.NET 5 MVC: impossible de se connecter au serveur Web 'IIS Express'

190

Qu'est-ce que je fais:

La suppression applicationhost.config, située dans Documents\IISExpress\config, ne modifie pas le message d'erreur. (Il y a aussi un IISExpressdossier dans program fileset program files (x86).)

Quelque chose que j'ai remarqué et je ne sais pas si c'est un problème:

Fichier référencé 'lib / jquery-validation / jquery.validate.js' introuvable.

J'ai une décharge avec rawcap mais je ne remarque pas grand-chose là-dedans. Une partie de ce qui était là:

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

Je ne remarque pas de problème, mais j'ai les données réseau si cela peut aider à comprendre pourquoi je ne peux pas me connecter au serveur Web. J'obtiens un RST,ACKimmédiatement donc je suppose que le port est fermé et quel que soit ce serveur Web, il n'est pas configuré.

Plus d'informations sur ce problème: erreur 800700c1 de / trace: erreur

J'ai essayé:

  • suppression de applicationhost.config (et modification du numéro de port)
  • exécution de Visual Studio en tant qu'administrateur
  • suppression du dossier IISExpress dans Documents (modifie le message d'erreur jusqu'à ce que le dossier soit réinstallé)
  • activer et désactiver ssl, copier l'URL dans la boîte de lancement. (note: je n'utilise pas ssl)
  • effacement de toutes les erreurs sfc / scannow
  • démarrage d'iisexpress avec la version x86 et la version 64 bits
Sarek
la source
1
est-ce que cela aide? stackoverflow.com/questions/15873126/… . Ou changer de port? stackoverflow.com/questions/23502327/…
mariocatch
1
essayez lorsque vous ouvrez Visual Studio cliquez avec le bouton droit et ouvrez en tant qu'administrateur ..
Hazem Torab
J'essaie toutes les suggestions que les gens me donnent même si j'ai déjà essayé.
Sarek le
pouvez-vous ouvrir un nouveau projet et vérifier si cela fonctionne? Redémarrer le PC? Déplacer le projet vers un autre répertoire
Sebastian 506563
1
Merci mais cela n'a pas fonctionné non plus.
Sarek

Réponses:

254

Après avoir installé la mise à jour 2 pour Visual Studio 2015, j'ai commencé à recevoir la même erreur. J'ai tout essayé sans succès. Cependant, j'ai trouvé une solution qui fonctionne pour moi:

  1. Supprimez le fichier YourSolutionFolder \ .vs \ config \ applicationhost.config (note: .vs est un dossier caché)
  2. Ouvrez Visual Studio, cliquez avec le bouton droit sur le site Web> Propriétés> onglet Débogage> Paramètres du serveur Web> URL de l'application - modifier le numéro de port.
Victor Stagurov
la source
Mec, mon erreur est revenue, j'ai trouvé cela aussi sur un autre site, mais cela continue de donner la fichue erreur. Ça me fait chier. J'exécuterais la console Web, mais cela n'a pas d'observateur, de sorte que je puisse simplement ctrl + s, actualiser.
René Sackers
Omg, ça marche. J'ai supprimé le dossier IISExpress dans mes documents, puis j'ai supprimé ce fichier, puis j'ai commencé à avoir cette erreur, mais la réponse acceptée était la solution: stackoverflow.com/questions/33166403/… et maintenant ça marche: |
René Sackers
3
Pour moi c'était.vs\config\<MyProject>\config\applicationhost.config
laggingreflex
2
où voyez web site-vous que vous devez faire un clic droit sur?
CodyBugstein
14
Pour le projet Net Core 2.2 - Après une lutte MASSIVE et tout essayé, depuis la suppression du dossier .vs, la suppression des configurations IIS Express, la modification des numéros de port, la modification des liaisons et l'exécution de VS en tant qu'administrateur, j'ai FINALEMENT résolu le problème en 1. fermant VS, 2. supprimant launchSettings.json3. ouverture de VS qui a re-généré launchSettings.json. Il n'était pas évident que le fichier était corrompu ou incorrect ou même s'il avait été modifié pour provoquer un échec.
Quinton Smith le
189

Quittez VS et supprimez le fichier (project) .vs \ applicationhost.config. Redémarrez VS. Cela devrait commencer à fonctionner.

dwoodard
la source
19
Cela a fonctionné pour moi dans VS2017, sans avoir à changer de port.
mlienau
4
Après avoir fait cela pour moi, il était nécessaire d'exécuter Visual Studio en tant qu'administrateur et de travailler, merci!
DigaoParceiro
5
En particulier, le RUN AS ADMINISTRATOR est important pour moi. (bien que j'aie Asp.net Core 2.0 VS2017.
Bart Mensfort
1
Supprimé tout le .vsdossier et travaillé pour moi, rien que ça
FindOutIslamNow
9
Le redémarrage de VS2017 n'a pas résolu mais le redémarrage de l'ordinateur l'a corrigé pour moi. N'a pas besoin de changer le port ou de supprimer le dossier. J'espère que cela aide les autres.
Tonmoy
32

Essayez d'utiliser un autre port. Je viens de configurer un nouveau projet Core 1.0 RC1 et j'ai eu la même erreur.

  • Projet Web de clic droit
  • Onglet Débogage
  • Activez et désactivez l'activation de SSL, cela devrait générer un nouveau port aléatoire
  • Copiez l'URL SSL et collez-la dans la zone URL de lancement
  • Lancer le projet

A travaillé pour moi (TM).

Réponse de: https://stackoverflow.com/a/28650554/134761

entrez la description de l'image ici

angularsen
la source
1
Cela a fonctionné mais seulement quand j'ai utilisé le port 60000. le port 6000 a renvoyé une erreur: port non sécurisé.
EKanadily
Ne fonctionnait pas dans Visual Studio 2019 - il utilisait simplement le même port à chaque fois.
EJoshuaS
@ EJoshuaS-ReinstateMonica Je pense que cela a beaucoup changé. Jetez un œil à la Startupconfiguration de votre classe et aux appsettings.jsonfichiers dont vous disposez. Il y a aussi Properties\launchSettings.jsonpour lancer différents profils localement. docs.microsoft.com/en-us/aspnet/core/fundamentals/… dejanstojanovic.net/aspnet/2018/december/…
angularsen
27

J'ai rencontré ce problème dans .net core 2.0 lorsque je mets à jour le numéro de port de mon projet.

J'ai pu résoudre le problème en deux étapes:

  • ÉTAPE 1: SUPPRIMER le dossier .vs qui est caché dans le dossier principal de la solution. (fermez visual studio avant cela) puis lorsque vous redémarrez visual studio, ce dossier et ce fichier (applicationhost.config) qu'il contient seront automatiquement créés par visual studio.
  • ÉTAPE 2: pour plusieurs projets de démarrage , si vous rencontrez toujours un problème, exécutez un par un projet en tant que démarrage, puis exécutez en tant que projet de démarrage multiple.
Saurin Vala
la source
La solution a fonctionné. Merci :) Que diriez-vous de SUPPRIMER le dossier .git également?
krunal.cp
24

J'ai eu ce problème sur .net core 2.1, version 15.9.6 de Visual Studio. Lorsque j'ai supprimé le dossier .vs, j'ai rouvert Visual Studio et le problème était toujours là. La solution qui a fonctionné pour moi ci-dessous:

  1. Supprimez le dossier .vs (c'est un dossier caché).
  2. Redémarrer l'ordinateur.

Autres solutions:

  • Fermez Visual Studio, supprimez les dossiers bin et obj du dossier du projet. Ouvrez Project puis reconstruisez la solution.
  • Essayez d'exécuter Visual Studio en tant qu'administrateur.
  • Nettoyer la solution puis reconstruire
  • 1) Solution propre. 2) Quittez Visual Studio. 3) supprimer le dossier .vs 4) Rouvrir Visual Studio
Daniaal
la source
J'ai pu le faire en arrêtant uniquement Visual Studio, en supprimant le dossier .vs, en indiquant à nouveau Visual Studio.
Robert Bratton le
Ouais ça marche pour certains pas dans mon cas cependant. Je ne sais pas pourquoi cela n'a pas fonctionné. La seule chose qui a fait était de redémarrer mon ordinateur.
Daniaal
2
J'ai obtenu ceci après un écran bleu. J'ai dû supprimer le dossier .vs et redémarrer l' ordinateur . Le redémarrage de Visual Studio ne suffisait pas.
johnb
2
Mes étapes ont été compressées pour: 1) Clean Solution. 2) Quittez Visual Studio. 3) Supprimer le dossier
.vs
1
@samneric Merci pour cela, je vais ajouter une solution à la réponse :)
Daniaal
13

Exécutez VisualStudio avec les privilèges d'administrateur et exécutez le projet. Fermez ensuite VisualStudio et toutes les erreurs et réexécutez VisualStudio avec l'utilisateur normal.

Cela l'a fait pour moi.

On dirait que IIS doit écrire quelque chose sur une configuration avec des privilèges d'administrateur (le port 80 ne fonctionnait pas avec l'utilisateur normal mais le port 6767 fonctionnait bien).

Tadej
la source
5
Seules les autorisations d'administrateur permettent à l'application de se lier à un numéro de port inférieur à 1024. C'est pourquoi 6767 fonctionne pour vous.
Lex Li
12

J'ai eu le même problème, j'ai pu le résoudre en modifiant le numéro de port.

  1. Faites un clic droit sur le projet et sélectionnez les propriétés

  2. Accédez à la section Débogage

  3. Sous Paramètres du serveur Web, modifiez le port de l'URL de l'application [augmentez simplement de un :)]

entrez la description de l'image ici

Akbar Badhusha
la source
10

Dans mon cas, il s'agissait d'une autre application écoutant sur le même port auquel IIS Express essayait de se connecter. Je dois courir netstat -aopour voir le PID du processus qui utilise le même port et la même application d'arrêt. Dans mon cas, l'application était Viber.

codevision
la source
10

La solution qui a fonctionné pour moi était de: Fermer le projet VS Dans l'Explorateur de fichiers, accéder au projet et supprimer tout le dossier ".vs" Redémarrer le projet Exécuter en tant que "Debug" fonctionne Apparemment, cela a quelque chose à voir avec le "applicationhost" fichier .config ".

Prendre plaisir!

Amit Kumar Verma
la source
10

Beaucoup de ces réponses ne traitent pas entièrement le problème en question. Le vrai problème pour moi était que j'avais deux liaisons utilisant le même port dans mon fichier applicationhost.config ET je n'avais pas ouvert le port à ma deuxième liaison (non localhost) . VS vous permettra de continuer à fonctionner dans ces circonstances mais uniquement si vous êtes en mode administrateur (d'où toutes les réponses ci-dessus).

Vous créez essentiellement deux instances express IIS de votre application sur le même port, donc la modification de l'un des ports de votre fichier applicationhost.config vous permettra de continuer. Il existe cependant deux fichiers applicationhost.config différents. Vous voudrez sélectionner celui qui a l'IP de liaison et le port que vous voyez dans les propriétés de votre projet

entrez la description de l'image ici.

Accédez au dossier dans lequel vous pouvez voir votre solution de projet et les dossiers de projet (afficher les éléments cachés dans l'Explorateur de fichiers). Naviguez dans votre dossier .vs caché -> dossier "YourAppName" -> config. Il doit contenir les informations de liaison que vous avez vues dans les propriétés de votre projet.

Exemple:

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

Remplacez l'un de ces numéros de port par un autre que «7000» afin de ne pas essayer d'utiliser le même port.

Dans mon cas, j'utilise une adresse 192 qui n'est pas une adresse localhost, donc je dois utiliser des commandes netsh pour ouvrir ce port et ip up. Voici un lien qui montre comment ouvrir des ports pour IIS Express pour permettre la connexion à distance. L'exécution en tant qu'utilisateur normal ne fonctionnera que si vous exécutez les commandes netsh répertoriées.

Voici les commandes netsh:

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

Copiez ces commandes et exécutez-les dans cmd avec les privilèges ADMIN et avec VOTRE adresse IP et votre numéro de port.

MédiévalCoder
la source
C'était la solution pour moi, merci
WeisserHund
8

Je viens de changer mon profil de "IIS Express" à "MyProjectName" (qui, je pense, utilise Kestrel comme serveur http au lieu d'IIS) et maintenant cela fonctionne bien:

entrez la description de l'image ici

Tadej
la source
Ce n'est pas une solution, mais une solution de contournement. Votre réponse suggère d'utiliser un serveur différent - Kestrel - alors qu'OP essaie clairement de faire fonctionner IIS-Express.
Prolog
2
Après trois jours d'épilation, cette solution m'a aidé. Merci
Meir
7

CLARIFIER

Vraiment beaucoup de réponses ici sont les mêmes et disent quelque chose comme "Redémarrez et ça fonctionne à nouveau comme par magie".

Eh bien, 9 personnes sur 10 ont ce problème comme l'OP, c'est parce que L'ADRESSE IP EST DÉJÀ UTILISÉE.

RÉPONDRE

Il peut y avoir 2 adresses IP en cours d'utilisation. Vous pouvez trouver les deux en:

1) Clic droit sur le projet de démarrage

2) Cliquez sur "Propriétés"

3) Cliquez sur l'onglet "Déboguer"

Ici, vous voyez votre "URL d'application" et votre "URL SSL".

  • Si votre "URL d'application" est en cours d'utilisation, modifiez-la simplement ici et enregistrez-la et elle devrait fonctionner à nouveau.

  • Si votre "URL SSL" est en cours d'utilisation, fermez VS, supprimez le fichier "applicationhost.config" dans le dossier caché .vs de votre projet et ouvrez à nouveau VS.

Svenmarim
la source
6

J'ai pu inverser cette erreur en modifiant une seule chose. Dans le launchSettings.jsonfichier de mon projet d'application Web ASP.Net Core 1.0 RC2 :

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

à

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

J'avais changé en https pour tenter d'exécuter le projet en utilisant ce protocole. Apparemment, ce n'est pas le lieu de faire ce changement. Je soupçonne qu'il crée plusieurs liaisons sur le même port, et IIS Express n'aime pas ça.

redwards510
la source
J'ai dû faire cela pour incrémenter le numéro de port. mon message d'origine était `` bloqué '' et je n'ai pas le temps maintenant de redémarrer ou de comprendre comment le réparer
Simon_Weaver
6

J'ai eu ce même problème, mais la façon dont je l'ai résolu était en allant à applicationhost.config et en supprimant un port qui n'a pas été ajouté par moi (IIS Express je suppose) qui a placé mon site de port spécifique sur un autre port.

Voici ce que le fichier de configuration avait pour mes liaisons:

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

J'ai supprimé le premier élément de liaisons car le seul port que je voulais était 44360. Mon fichier de configuration ressemble maintenant à ceci:

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

Maintenant, je ne vois pas l'erreur lorsque je débogue.

J'ai également remarqué que ma deuxième API dans mon projet avait également le port 80, je l'ai également supprimée.

Jeff
la source
5

supprimer les dossiers bin et obj du dossier du projet et reconstruire.

Muhannad
la source
Bien qu'un nettoyage manuel aide souvent, il ne résoudra pas le problème dans ce cas, car le problème réside dans le fichier applicationhost.config et est probablement causé par une tentative d'utilisation de la même adresse IP deux fois
MedievalCoder
5

Je viens de nettoyer ma solution, puis de la reconstruire et enfin d'appuyer sur F5 et cela a fonctionné! Si simple.

noobprogrammer
la source
4

Je ne prétendrai pas comprendre pleinement quel bogue MS crée ce problème, mais voici une autre solution potentielle:

Dans le fichier .vs / config / applicationHost.config, recherchez la section pour <system.applicationHost><applicationPools>. Sous les piscines, assurez-vous quemanagedRuntimeVersion valeur de attribut correspond à la valeur qui se trouve dans la configuration IIS pour le système (et / ou la version du .NET Framework qui est installée).

Par exemple, vous pouvez constater (comme je l'ai fait) que le fichier généré contient:

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

Dans mon cas, vous remplaceriez ceci par:

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

Notez le remplacement de "v4.0" par "v4.0.30319". Cela a résolu le problème.


Ce qui semble se passer:

Je crois que VS génère un fichier applicationHost.config avec des versions "par défaut" pour le framework .NET, qui peuvent ne pas correspondre à la version spécifique qui est installée / configurée sur le système. Vous pouvez déboguer / observer ce problème en traçant l'exécution dans Process Monitor et en recherchant la ligne de commande pour iisexpress.exe. L'exécution de cette commande avec l' /trace:errorajout génère un message plus informatif sur l'échec du préchargement du CLR avec la version v4.0. En être témoin:

Démarrage d'IIS Express ...
Échec lors de la tentative de préchargement de la version v4.0 de CLR. hr = 80131700
Échec de l'initialisation du W3WP_HOST hr = 80131700
Arrêt du modèle de processus appelé
Impossible de démarrer iisexpress.


Quoi qu'il en soit, j'ai pensé que cela pourrait être utile à quelqu'un d'autre, car il est assez courant d'avoir plusieurs références en ligne avec de mauvaises informations, et je l'ai personnellement frappé à plusieurs reprises maintenant.

pseudo
la source
Aucune de ces solutions n'a fonctionné pour moi.Si vous avez installé Windows IIS par défaut (fourni avec vos fenêtres) et y avez accès, essayez de l'utiliser, cela a résolu mon problème, ajoutez simplement un nouveau site Web ou une nouvelle application et c'est fait, de toute façon, c'est bizarre qu'IIS Express ne puisse pas ouvrir la page. Si vous avez besoin de le suivre, attachez-le simplement à un processus à l'aide de ctrl + alt + ptouches courtes et cochez Show process for all userset sélectionnez w3wp.exe(il faut parfois actualiser le site Web pour le trouver w3wp.exe), puis appuyez sur le Attachbouton.
Mohammad Musavi
3

Essayez d'abord ceci s'il fonctionnait et s'est soudainement arrêté:

  • Fermer Visual Studio
  • Tuer les processus iisexpress.exe
  • Rouvrir Visual Studio
Simon_Weaver
la source
3

Le mien se produit dès que j'ajoute une nouvelle liaison dans le fichier applicationhost.config, l'exécution en tant qu'administrateur a résolu le problème.

goamn
la source
3

Fermez simplement le studio visuel, rouvrez et exécutez. Cela a fonctionné pour moi.

T-Jayanth Dore
la source
3

Pour moi, le problème était qu'un autre processus utilisait le même port. (Dans mon cas, c'était Outlook qui utilisait le même port que mon site et donc mon site ne pouvait pas démarrer)

Oui, vous pouvez modifier le port local, mais si vous exécutez une API ou quelque chose dont d'autres applications ont besoin, vous ne voulez pas toujours faire cela.

Pour obtenir une liste de quelles applications utilisent quel port ouvrez CMD et tapez "netstat -aon" Vous obtiendrez une liste de ports. Trouvez le port que votre site doit utiliser ou que vous souhaitez utiliser et notez / mémorisez le PID.

Ouvrez maintenant le gestionnaire de tâches et cliquez sur l'onglet «détails». Trouvez le processus avec votre PID et terminez-le. Vous devriez maintenant pouvoir démarrer IIS Express avec ce port.

Enrico
la source
3

J'ai pu résoudre ce problème en redémarrant mon ordinateur. J'ai essayé plusieurs choses sans succès et j'ai finalement abandonné et redémarré mon ordinateur. Cela fonctionne bien maintenant depuis quelques jours après mon redémarrage. Probablement le résultat d'un processus qui a été bloqué.

Keenan Stewart
la source
3

Pour moi, c'était un mélange de suivre ces instructions :

Supprimez le fichier .vs \ applicationhost.config de votre application Web et réessayez.

Et puis, peut-être le plus important, exécuter Visual Studio avec des privilèges d'administrateur.

contactmatt
la source
3

J'ai ajouté .UseUrls("https://localhost:<some port>/")au Program.cs. Cela a semblé faire l'affaire pour moi!

Helzgate
la source
2

J'ai simplement basculé sur "Activer SSL". Cela a résolu mon problème.

  1. Projet Web de clic droit
  2. Onglet Débogage
  3. Activer SSL "activé" (s'il est désactivé, ce qui était mon cas)
Harun Altay
la source
2

Je viens de rencontrer le même problème et j'ai tué tous les processus "iisexpress.exe" qui étaient encore en cours d'exécution. Cela a fonctionné pour moi!

poveilleux
la source
2

Ma solution (pour .net core 2.0) était que j'avais oublié d'ajouter le numéro de port dans l'applicationUrl, sous iisExpress dans launchSettings.json

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}
Numm3n
la source
Quand launchSettings.jsonest automatiquement généré ou mis à jour par VS, le applicationUrldevrait avoir /à la fin. Plus d'informations peuvent être trouvées dans blog.lextudio.com/…
Lex Li
2

Le problème peut être dû au [√] Enabled SSLfait que a été sélectionné pour votre projet (voir l' Debugonglet dans la fenêtre des paramètres du projet), mais Visual Studio décide d'être stupide et de configurer quelque chose comme http://localhost:32396. La raison pour laquelle il échoue est que 1. ce n'est pas le cas HTTPS, et 2. le certificat n'est pas valide. Pour le forcer, vous devez utiliser un port compris entre 44300 et 44398.

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

James Wilkins
la source
1

Essayez dans cmd

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

et appuyez sur f5. Je ne change pas les ports, ne supprime pas les fichiers ou ne redémarre pas VS.

D. Nikitin
la source
Peut-être expliquer que vous répondez un peu. Tuer le processus n'est peut-être pas la solution ici. Et après quoi?
Shiham