web-dev-qa-db-fra.com

Impossible de lancer le IIS Serveur Web Express

J'ai une solution asp.net MVC 4. Lorsque j'essaie de l'ouvrir à l'aide de Visual studio 2012, l'erreur suivante s'affiche:

Microsoft Visual Studio

La configuration Web https://localhost: pour ASP.NET 4.5 a échoué. Vous devez configurez manuellement ce site pour ASP.NET 4.5 afin que le site soit courir correctement. Impossible de trouver le serveur https://localhost:44300/ sur la machine locale. Assurez-vous que le serveur IIS local a été configuré soutenir des communications sécurisées.

OK Aide

Bien que la solution s'ouvre. De plus, lorsque j'essaye de l'exécuter à partir du menu de débogage, j'obtiens l'erreur suivante:

 Unable to launch the IIS Express Web server.

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

et je ne peux pas déboguer le code. comment se débarrasser de ces erreurs et déboguer/exécuter le site web à partir de VS 2012?

Veuillez suggérer.


261
DotnetSparrow

J'ai eu exactement le même problème.
La raison - mauvais fichier de configuration IIS.

Essayez de supprimer le dossier IISExpress créé automatiquement, généralement situé à %userprofile%/Documents, par exemple. C:\Users\[you]\Documents\IISExpress.

Ne vous inquiétez pas, VS doit la créer à nouveau - correctement, cette fois-ci - une fois que vous exécutez votre solution.


EDIT: Ligne de commande pour la suppression du dossier:

rmdir /s /q "%userprofile%\Documents\IISExpress"
328
Yehuda Shapira

Si vous utilisez VS2015 ou plus

Assurez-vous que le processus iisexpress n'est pas en cours d'exécution.

Assurez-vous qu'aucun autre processus n'utilise votre port souhaité. Vous pouvez le faire en exécutant netstat -a -b dans la console (en tant qu’administrateur).

Puis supprimez le fichier suivant

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

notez que le dossier .vs est peut-être masqué

puis recherchez le fichier <<project-name>>.csproj.user, ouvrez-le à l'aide de l'éditeur de texte (bloc-notes) .__ et assurez-vous que IISUrl sous WebProjectProperties est configuré sur <IISUrl>http://localhost:XXXXX/</IISUrl>XXXXX est votre port souhaité.

après cela et en essayant de démarrer l'application, vous pouvez obtenir

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

Cliquez ensuite sur {Propriétés du projet} -> Web et cliquez sur le bouton "Créer un répertoire virtuel".

 enter image description here

201
Mihail Shishkov

@roblll avait raison. Mais pour ceux d'entre vous qui n'ont pas voulu creuser pour avoir la réponse, la voici: 

  1. Fermez Visual Studio (cela ne sera peut-être pas nécessaire, mais cela ne fera pas mal).
  2. Accédez à votre dossier Documents. C'est là que se trouvait mon répertoire de configuration IISExpress.
  3. Dans le dossier config, il y a un fichier appelé applicationhost. Ouvrez ça.
  4. Recherchez le nom de votre projet. Il aurait dû être ajouté par Visual Studio lors de vos précédentes tentatives.
  5. Notez qu'il existe une liaison pour http avec le port que vous avez l'intention d'utiliser pour https. 

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

N'oubliez pas que Visual Studio peut avoir fourni des ports différents de ceux auxquels vous vous attendiez. Assurez-vous simplement que les ports de la liaison correspondent à ce qui se trouve dans l'onglet Web des propriétés de votre projet.

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

79
Jacob Lauzier

J'ai eu le même problème mais la solution qui a fonctionné pour moi était différente.

  1. Dans VS2013 Open Debug> Propriétés {YourWebsiteName}
  2. Sélectionnez l'onglet "Web".
  3. Sous "Serveurs", j'ai trouvé "Remplacer l'URL racine de l'application" a été coché. Je l'ai décoché et sauvé.

C'était tout ce dont j'avais besoin pour faire fonctionner les choses.

41
centralscru

J'ai eu le même problème, puis j'ai ouvert le gestionnaire de tâches -> processus puis tué le processus iisexpress.exe. Après cela, j'ai essayé d'exécuter l'application et j'ai pu l'exécuter avec succès.

15
Vinu

Même problème, mais devait démarrer VS2013 en Mode Admin .

15
mat

Dans mon cas, le projet était sur lecteur réseau et la suppression du dossier IIS Express n'a pas aidé comme décrit dans d'autres réponses. Ma solution de contournement consistait à copier le projet sur un disque local et cela a fonctionné!

14
Amir Chatrbahr

J'ai eu le même problème, merci à @Jacob pour avoir fourni des informations à ce sujet.

La raison est - entrée incorrecte pour votre projet dans le fichier de configuration applicationhost situé à 

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. Fermez toutes les solutions Visual Studio.
  2. Renommez le dossier IISExpress en une copie IISExpress (au lieu de la supprimer, vous pouvez en avoir une copie).
  3. Ouvrez à nouveau VS et créez/déboguez le projet. Le dossier IISExpress sera à nouveau créé pour vous avec une configuration correcte.

Cela a fonctionné pour moi et espère que cela fonctionnera pour vous également.

11
user2732247

Essayez les étapes suivantes: 

  1. supprimer le dossier IISExpress comme @Yehuda Shapira a dit 
  2. redémarrer l'ordinateur 
  3. supprimer le dossier .vs dans le projet 

Bonne chance!

10
sknight

J'avais le même problème, car l'indicateur "remplacer l'URL de la racine de l'application" était défini dans Propriétés -> Web Après avoir supprimé l'indicateur, IIS Express commençait correctement avec le port défini.

9
vm370

Il semble que vous deviez effectuer certaines configurations car vous semblez utiliser SSL; Voici un guide détaillé rédigé par Scott Hanselman lui-même:

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

7
RobIII

Partage cela pour les futurs lecteurs. Créer manuellement un répertoire virtuel a fonctionné pour moi.

  • Sélectionner un projet dans l'explorateur de solutions
  • Presse Alt + Enter
  • Aller à la section Web
  • Cliquez sur Créer un répertoire virtuel.
5
student

Dans mon cas, après avoir autorisé une requête externe sur mon site Web IIS Express et configuré le pare-feu Windows pour autoriser iisexpress.exe, je ne peux pas le démarrer à partir de Visual Studio 2013. Je peux toujours le démarrer en ligne de commande. sert bien les demandes locales et externes.

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

J'ai essayé de créer une règle de pare-feu pour autoriser mon port, après que VS ait fonctionné.

4
deerchao

La seule solution qui a fonctionné pour moi a été de créer un autre projet test. Ensuite, en suivant les prochaines étapes:

  1. Faites un clic droit sur le projet et allez à Propriétés -> Web

  2. Sous l'URL du projet dans la section Utiliser le serveur Web Local IIS, copiez l'URL du projet (http: // localhost: 59002 /) - il s'agit du projet test.

  3. Accédez au projet qui donne cette erreur. Cliquez avec le bouton droit sur le projet et allez dans Propriétés -> Web.

  4. Collez l'URL du projet dans la section Serveur Web Utiliser un serveur local IIS (URL copiée à partir du projet de test). Fermez le projet de test et enregistrez.

  5. Supprimez le projet de test et exécutez le projet à l'origine de l'erreur. Fonctionne après ça ...

Peut-être pas la meilleure façon mais c’était la seule façon pour moi de faire en sorte que cela fonctionne. J'ai reçu ce message d'erreur après avoir rechargé mon ordinateur portable (disque dur en panne) et obtenu tous mes projets du serveur où ils étaient hébergés.

4
Kerieks

J'ai eu le même problème avec VS 2013 et même après tous les essais possibles, cela ne fonctionnait pas. Mon problème a été résolu par:

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

Au moins, vous pouvez essayer, car cela a fonctionné pour moi.

3
Saroj

Après avoir désactivé le pare-feu, j'ai pu l'exécuter sans aucun problème.

2
Mahaling Khubba

vérifiez le pare-feu de l'antivirus et autorisez l'accès de visual studio au réseau . par exemple dans nod32:

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

dans le "zone and rule editor", cliquez sur "setup" et recherchez le vs 2010 ou 12 ou ... et autorisez l'accès au réseau.

2
hadi ab

J'ai couru à cette erreur aujourd'hui. Exécution de Win 8.1 et VS 2013. Soudain, mes projets n’ont plus pu être exécutés et j’ai reçu le message "Impossible de lancer le serveur Web IIS Express" "et aucune information supplémentaire. 

Après un certain temps, j'ai découvert que tous les projets que IIS Express ne pouvait pas démarrer étaient tous exécutés .net 3.5. Les projets exécutant des versions ultérieures ont démarré correctement.

La solution pour moi était de supprimer .net 3.5 (du panneau de configuration -> activer/désactiver les fonctionnalités de Windows), de redémarrer Windows et d’ajouter .net 3.5 à nouveau.

2
fefferoni

Eh bien, aucune des étapes mentionnées ci-dessus n'a fonctionné pour moi. Dans mon cas, mon fichier applicationhost.config manquait d'une manière ou d'une autre des deux lignes de code suivantes

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

J'espère que cela peut aider quelqu'un.

2
Anshuman Jasrotia

J'avais configuré Partage de connexion Internet sur ma machine pour les machines virtuelles. Je l'ai éteint et j'ai pu déboguer dans Visual Studio 2015 . Cependant, pour déboguer systématiquement après un redémarrage, je devais configurer le service Partage de connexion Internet pour le démarrage manuel, même si aucune de mes connexions Internet ne possédait Partage de connexion Internet activé.

1
Giles Roberts

J'ai eu un problème similaire lors de l'exécution de ma solution à partir de VS2012:

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

Le projet incorrect a été sélectionné en tant que projet de démarrage. J'ai fait du projet Cloud le démarrage (clic droit sur le projet -> Définir comme projet de démarrage) et tout a bien fonctionné.

1
scottndecker

Mon problème a finalement été résolu lorsque j'ai consulté la clé de registre IIS Express:

HKEY_CURRENT_USER\Software\Microsoft\IISExpress

J'ai eu une entrée CustomUserHome pointant vers Mes sites Web qui causait des ravages.

1
AndyKenZ

J'ai eu le même problème après l'installation de Visual Studio 2013 Update 3.
VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
Unable to launch the IIS Express Web server

Mon problème résolu en procédant comme suit:

1. Réparation Visual Studio 2013 Update 3
2. Démarrez le Developer Command Prompt en tant qu'administrateur.
3. Tapez devenv.exe /setup puis appuyez sur enter

1
Mohammad Dayyan

Nous avons eu le même problème avec nos sites. Nous avons pu résoudre tout cela à l'intérieur de Visual Studio. Nous utilisons 2012 Ultimate.

Le problème sous-jacent que nous avons constaté était qu'avec SSL activé, pour une raison quelconque, VS affectait le même port pour les URL standard et sécurisées. Ce problème semblait se poser lorsque nous avons retiré le code de TFS.

Pour y remédier, nous avons entrepris les étapes suivantes:

  1. Faites un clic droit sur le projet et allez à Propriétés -> Web
  2. Sous l'URL du projet dans le  Utiliser le serveur Web local IIS section, supprimez le "s" de l'URL et enregistrez. (Par exemple, allez de https: //: 44301 à http: // : 44301. Cela permettra à l'étape suivante de fonctionner.)
  3. Dans l'Explorateur de solutions, sélectionnez le projet et dans la fenêtre Propriétés (appuyez sur F4 si non affiché).  SSL activé à False puis retour à Vrai. Il générera un nouveau port différent de l'URL standard (dans mon cas, j'ai 44301 comme SSL et 44305 comme standard)
  4. Revenez à Propriétés -> Web et ajoutez le "s" à l'URL du projet.
  5. F5 et monter!

Assurez-vous que la case à cocher pour  Remplacer l'URL racine de l'application est décochée.

1
JimmyV

Avant d'essayer quoi que ce soit d'autre, assurez-vous de redémarrer Visual Studio (principalement pour actualiser les options résidentes en mémoire à partir de fichiers) et 2. redémarrer votre système (principalement pour le verrouillage de fichiers non valide). Si votre problème est temporaire ou auto-réparé, ceux-ci se feront sans rien changer. Cela a fonctionné pour moi avec le redémarrage de PC. De même, si vous travaillez sur un projet multi-utilisateur, assurez-vous de disposer de la dernière version utilisable - une autre personne peut avoir enregistré par erreur quelque chose d'invalide, par exemple, par exemple. le fichier de projet et que vous bousillez votre système sans raison. Si cela ne fonctionne pas, vous devrez probablement modifier certains paramètres qui sont bloqués, manquants ou qui ont besoin d'être modifiés - de nombreuses propositions sont proposées.

1
Stefanos Zilellis

La série d'articles de Jason's Shavers ici http://jasonrshaver.com/?tag=/Client+Certificates explique précisément comment configurer votre entrée de site applicationhost.config pour permettre à l'application de s'exécuter en http ou en standard. 

Une des choses qu'il recommande est de mettre deux entrées de liaison pour le site. C'est ce que j'ai fait.

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

Il recommande également de modifier d'autres paramètres. Cela a fonctionné sur deux de mes trois machines. Chaque fois qu'on me dit de configurer manuellement un site dans l'application hôte, il s'agit généralement des liaisons. (exemple, utilisation du même port pour plusieurs applications Web.)

1
user1161391

Mon problème nécessitait une solution triple:

  1. Supprimez le dossier IISExpress de votre dossier Documents.
  2. Définissez le projet Web comme projet de démarrage en cliquant dessus avec le bouton droit de la souris et en sélectionnant "Définir en tant que projet de démarrage", ou dans les propriétés de votre solution.
  3. Définissez l'URL de démarrage ou définissez "Page en cours" ou "Page spécifique". Le mien était réglé sur "N'ouvrez pas de page. Attendez une requête d'une application externe" et je devais la changer en "Page spécifique", ce que je laisse vide pour que la page d'accueil de mon application soit affichée. travail.
1
vapcguy

J'ai eu le même problème. J'avais supprimé beaucoup de dossiers sous le chemin C:/users/ pour libérer de l'espace sur ma machine. Après quoi j'ai commencé à avoir cette erreur.

Je devais simplement redémarrer ma machine et tout fonctionnait bien.

1
Yasser

je vais suggérer un moyen de résoudre ce problème:

1. Supprimez le dossier\Documents\IISExpress à l'aide de la commande de console suivante: rmdir/s/q "% userprofile%\Documents\IISExpress"

  1. Supprimez le fichier applicationhost.config qui est placé dans le dossier .vs\Config\du dossier racine de votre projet Visual Studio.

  2. Modifiez l'URL aléatoire du site Web du projet: dans Visual Studio, cliquez avec le bouton droit de la souris sur le nœud du projet dans l'Explorateur de solutions, puis sélectionnez Propriétés. naviguez dans le panneau Web, puis modifiez le numéro dans la valeur de la zone de texte URL du projet.

  3. Ajoutez la variable système Environnement _CSRUN_DISABLE_WORKAROUNDS avec la valeur 1, comme indiqué dans la capture d'écran suivante (merci à Juan M. Elosegui pour avoir signalé cela sur ce thread SO et pour l'image):

enter image description here

Bonne chance !

0
yuvalchen

Après deux heures de recherche sur le Web, j'ai trouvé ma solution sous forme d'étapes ci-dessous - Fermer Visual Studio - Supprimer le dossier .vs de votre projet - Ouvrir Visual Studio et relancer le projet

thats travail pour moi passer un bon moment

0
Ali Sadri

J'ai eu le même problème, dans mon cas, je viens de nettoyer puis de reconstruire ma solution et cela a fonctionné pour moi

0
RCanhestro

S'il vous plaît passer par l'instantané, j'ai rencontré la même erreur, mais le paramètre suivant l'a résolu

  1. Sélectionnez Current page as Démarrer l'action

  2. Sélectionnez un port spécifique dans Option Serveurs et entrez le port 26641, dans le chemin virtuel, entrez /

  3. L'option NTLM doit être décochée

0
Ali Abbas

VS2015

modifier le fichier .csproj.user

Insérer les balises XML suivantes (ne pas dupliquer si elles existent déjà)

<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>2870</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:2859</IISUrl>
<OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
<IISAppRootUrl>http://localhost:2859</IISAppRootUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>http://localhost/app</CustomServerUrl>

Insérer les balises ci-dessus dans le nœud XML ci-dessous:

<ProjectExtensions><VisualStudio><FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"><WebProjectProperties> 
0

Il n'est pas nécessaire de supprimer tout le dossier IISExpress du répertoire C:\Users [you]\Documents\IISExpress.

Juste un commentaire:

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

dans le fichier applicationhost.config du dossier IISExpress.

0
Nguyen Ba Thanh

La solution pour moi était de passer de IIS Express à IIS local .  Solution properties Assurez-vous que votre répertoire virtuel est lié au même port.

0
tanuk

J'ai eu le même problème.Veuillez suivre les étapes ci-dessous:

1- Ouvrez le fichier applicationhost dans Documents\IISExpress\config et ajoutez le code ci-dessous s'il n'existe pas.

            <site name="solutionname" id="2">
                <application path="/" applicationPool="solutionname">
                    <virtualDirectory path="/" physicalPath="physicaladdressofproject" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:xxxx:localhost" />
                </bindings>
            </site>

2- Accédez ensuite au fichier racine de votre projet et supprimez toutes les mises à jour effectuées sur le projet à l'aide d'une version différente de Visual Stdio.

3- Ensuite, allez dans [racine] .vs\config et supprimez applicationhost, il sera créé automatiquement

4-Exécuter le projet

Cela a fonctionné pour moi.

0
Aida Bigonah

J'ai eu le même problème. Je le résous en changeant le numéro de port des propriétés du projet. J'ai changé mon numéro de port 50624 en 50625.

 enter image description here

0
Musakkhir Sayyed

Aucune des autres solutions n'a fonctionné pour moi. J'ai désactivé edit-and-continue, et tout va bien :)

0
Jacob Brewer

J'ai rencontré ce problème récemment et c'est parce que le projet était stocké sur un lecteur réseau. Étant donné que IIS est exécuté localement en tant que NetworkService, il n’a pas accès au partage réseau sur lequel le projet a été stocké. En supposant que l'ouverture d'un projet à partir d'un partage réseau soit contraire aux meilleures pratiques, j'ai copié le projet sur le lecteur C:\local, puis le projet a fonctionné comme prévu. 

0
Ron DeFulio

Supprimez le contenu du dossier IISExpress et fermez et ouvrez le visual studio. et Run à nouveau. Ça devrait bien se passer.

Ou changer le numéro de port

0

J'ai moi aussi eu ce problème, après avoir désactivé le pare-feu, après l'ouverture en tant qu'administrateur, après avoir vérifié deux fois que tous les paramètres étaient corrects.

Mon problème était unique en ce sens que je voulais tester SSL localement, mais aussi que le service soit disponible sur le réseau local. J'avais donc changé l'URL de l'application pour utiliser l'adresse IP locale. 192.168.1.10 dans mon cas.

Le fait de revenir à localhost a résolu le problème, tout comme la désactivation de SSL. J'ai donc découvert que le certificat SSL local ne fonctionnait que pour localhost.

0
mrdavenz

Dans ma situation, le fichier IIS Express applicationhost.config avait une faute de frappe dans l'attribut managedRuntimeVersion de plusieurs éléments. Cela se passait pour Visual Studio 2012 et Visual Studio 2013. Je n'ai reçu que la première partie du message, indiquant:

Impossible de lancer le serveur Web IIS Express.

Il a enregistré une erreur dans le journal des événements avec le message suivant:

Le processus de travail n'a pas réussi à précharger .Net Runtime version v4.030319.

La version d'exécution correcte est la v4.0.30319 (notez la deuxième période).

Les mesures que j'ai prises pour corriger:

  1. Accédez à C:\Utilisateurs \\ Documents\IISExpress\config
  2. Modifier applicationhost.config
  3. Trouver la section de configuration
  4. Corrigez toutes les références à "v4.030319" pour lire "v4.0.30319"

Visual Studio a démarré avec succès IIS Express lors du prochain débogage d’une application Web.

0
bguffey

J'avais eu des problèmes avec IISExpress et Project pour essayer de l'écouter avec une URL différente de celle de localhost. Lors de la restauration, j'avais cette erreur et après avoir suivi toutes les réponses ici, aucune d'entre elles n'a fonctionné.

Finalement, j'ai remarqué que 'Démarrer l'URL' était cochée dans les projets Porperties -> Web sous Démarrer l'action, mais que la zone de saisie était vide. Changer cela en 'Page en cours' a corrigé mon problème.

0
MaxJ

Parallèlement à la réponse donnée par @Yehuda Shapira, j’ai dû effectuer un autre changement, à savoir Supprimer le fichier .csproj.user où les informations de liaison, telles que 

<IISUrl>http://localhost:54462/</IISUrl>

est stocké. Supprimez ce fichier. Fermez visual Studio, puis reconstruisez-le. J'espère que cela vous aidera.

0
Debashish Saha