web-dev-qa-db-fra.com

Le projet d'application Web [...] est configuré pour utiliser IIS. Le serveur Web [...] est introuvable.

J'ai un projet Web dans mon fichier de solution qui est "indisponible" lorsque j'ouvre la solution. Lorsque je clique avec le bouton droit sur le projet Web et que je le recharge, j'obtiens le message d'erreur suivant:

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

Je n'ai pas configuré manuellement les répertoires virtuels pour cette application Web.

En tant que collègue, Visual Studio doit m'inviter à créer des répertoires virtuels, mais je ne suis pas invité à le faire.

J'ai installé VS2010 avant d'installer IIS sur ma machine de développement.

Voici la configuration de ma machine de développement:

  • Windows 7 Entreprise
  • Service Pack 1
  • OS 64 bits
  • Visual Studio 2010 Enterprise Service Pack 1
  • IIS version 7.5
259

Lorsque cela se produit, la solution la plus simple consiste à créer le répertoire virtuel manuellement.

Tout d'abord, vous devez vous assurer que vous avez la bonne version d'ASP.Net installée et que vous avez installé les extensions IIS.

Pour ce faire, accédez au dossier de la version .net appropriée dans c:\(windows)\Microsoft.net\(dotnetver)\(en substituant les dossiers entre crochets aux bons dossiers sur votre PC) et exécutez cette commande.

aspnet_regiis.exe -i

La prochaine fois que c'est exécuté et terminé, parfois en cours d'exécution

iisreset

depuis la ligne de commande aide, parfois vous n’avez pas besoin de le faire.

Ensuite, accédez à votre IIS Manager et trouvez votre site Web localhost, puis choisissez l’ajout d’un dossier. Accédez au dossier de votre projet contenant le projet ASP.Net actuel et ajoutez-le.

Enfin, faites un clic droit sur le dossier que vous avez ajouté et vous devriez avoir une option qui dit "convertir en application" ou "créer un répertoire virtuel" ou quelque chose de similaire.

!! Assurez-vous que le répertoire virtuel porte le nom 'MyWebApp' !!

Rechargez votre solution et cela devrait fonctionner.

S'il vous plaît soyez prudent; ce n'est pas une question de programmation (et ne devrait pas vraiment être posté ici), mais j'ai posté ce guide car c'est un problème courant, mais le conseil que j'ai posté est générique; les commandes répertoriées sont correctes, mais les étapes à suivre dans IIS peuvent varier, cela dépend de votre version et des privilèges de votre compte.

Bonne chance!

82
Russ Clarke

Étant donné que la réponse acceptée nécessite IIS Manager et que IIS Express ne possède ni IIS Manager ni aucune interface utilisateur, voici la solution pour vous IIS Utilisateurs Express (et devrait fonctionner pour tout le monde aussi):

Lorsque vous ouvrez Visual Studio et obtenez le message d'erreur, cliquez avec le bouton droit sur l'explorateur de solutions du projet, puis choisissez "Modifier {NomProjet} .csproj".

Dans le fichier de projet, modifiez la ligne suivante:
<UseIIS>True</UseIIS>
à
<UseIIS>False</UseIIS>
Enregistrez le fichier.

Rechargez maintenant votre projet.
Terminé.

Vous pourrez ensuite ouvrir votre projet. Si, à ce stade, vous souhaitez utiliser IIS, accédez simplement aux propriétés de votre projet, cliquez sur l'onglet "Web", puis sélectionnez l'option permettant d'utiliser IIS. Il y a le bouton "Créer un répertoire virtuel". Cela vous indiquera peut-être que vous devez exécuter Visual Studio en tant qu'administrateur pour créer ce répertoire. Faites-le si nécessaire.

476
Doug S

Ouvrez le dossier du projet et supprimez {Projet} .csproj.user, puis rechargez le projet sur Visual Studio.

208
qjuanp

Cette solution a fonctionné pour moi: faites un clic droit sur le projet, sélectionnez Éditer et recherchez le code suivant, comme indiqué ci-dessous dans l'image.

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

OR

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

csproj screenshot

27
Umar Abbas

Editez le fichier .csproj ou vbproj. Rechercher et remplacer ces entrées

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>
24
jcmordan

pour moi, je devais supprimer ces deux lignes du fichier .csproj

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

J'ai essayé de ne supprimer que le premier, mais cela ne suffisait pas.

EDIT: Comme de nombreux utilisateurs l’ont souligné, cela peut modifier le type de votre projet ou perturber votre programme de contrôle de source. Je ne peux pas enquêter sur ces problèmes car c'était un projet scolaire que je n'ai plus. S'il vous plaît soyez prudent lorsque vous essayez cela. Faites au moins une copie de ce que vous supprimez.

21
kisslory

Dans mon cas, ce problème était dû à des liaisons cassées IIS. Plus précisément, ma liaison 'http' avait été supprimée. Le recréer a résolu le problème.

10
Roger Lipscombe

Cela a fonctionné pour moi: -
Faites que tous vos IIS sites Web pointent vers localhost (All Unassigned) uniquement

enter image description here

5
JerryGoyal

Essayez d’ouvrir Visual Studio avec les privilèges d’administrateur. Dans mon cas, cela donnait accès au site IIS et faisait disparaître cette erreur. J'ai ensuite pu passer le projet à utiliser IIS Express, qui ne semble pas avoir besoin de privilèges d'administrateur.

5
kad81

Vous pouvez charger le projet sans définir la valeur de l'attribut UseIIS sur true. Suivez simplement les étapes ci-dessous:

Dans le fichier mywebproject.csproj -

Supprimez la balise <IISUrl> http: // localhost/MyWebApp / </ IISUrl> et enregistrez le fichier. L'application lui attribuera automatiquement le port par défaut.

4
Yogesh Gangwar

Dans mon cas, je voulais passer de http à https, j'avais donc supprimé http d'IIS. Dans mon fichier .csproj.user, j'ai trouvé qu'il me restait:

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

Alors je l'ai changé pour:

<IISUrl>https://localhost/</IISUrl>
3
Njaal Gjerde

Vous ne croirez pas cela, start visual studio en tant que Administrateur

comme évident du message

Le serveur Web ' http: // localhost/MyWebApp ' est introuvable.

n'a pas pu être trouvé car may it has no privileges to see it

donc Just restart visual studio en tant que Administrateur

3
Basheer AL-MOMANI

Dans mon cas, j'ai pu ouvrir la solution en mode hors connexion en exécutant simplement la commande:

iisreset
2
Conrado Fonseca

Cela se produit lorsque je tente d’ouvrir un projet à partir du fichier .csproj, mais j’en surmonte le problème en l’ouvrant depuis VS:

Fichier> Ouvrir> Site Web

et sélectionnez le répertoire qui inclut mon projet.

2
mshwf

Pour vous, utilisateurs de Win8, si vous suivez les étapes de la réponse acceptée, la console vous envoie un message vous invitant à ne pas utiliser la ligne de commande pour exécuter cette commande (paraphrasant). À la place, accédez à Programmes et fonctionnalités via le Panneau de configuration (ou Windows + R> appwiz.cpl), cliquez sur "Activer ou désactiver des fonctionnalités Windows" et assurez-vous que les logiciels suivants sont installés:

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

Cela vérifiera un tas d'autres options aussi. Dès que j'ai installé ces fonctionnalités et utilisé VS2012 avec des autorisations élevées, j'ai pu lancer mon application avec succès.

2
Scott Silvi

Si vous êtes connecté via TFS, ouvrez votre fichier project.csproj.user et vérifiez si

<UseIISExpress>false</UseIISExpress>

et changez-le en vrai.

<UseIISExpress>true</UseIISExpress>
2
Patrick Dengler

dans mon cas, assurez-vous d'avoir un site Web "par défaut"

1
drew

Dans mon cas, le "site Web par défaut" dans IIS n'avait pas de liaison pour localhost sur le port 80. Vous devriez avoir une liaison pour la valeur que vous avez dans le fichier .csproj.

1
Dan Mirescu

J'ai eu cette erreur aussi. Je pensais que tout était correctement configuré, mais j'ai découvert qu'il manquait un élément: le nom d'hôte utilisé pour mon projet n'était pas (encore) résolvable.

Comme mon application détermine le nom du client actuel à partir du nom d'hôte, j'ai utilisé un nom d'hôte tel que clientname.mysuperapp.local pour le développement. Lorsque j'ai ajouté le nom d'hôte de développement à mon fichier hosts, le projet était à nouveau téléchargeable. Évidemment, je devais le faire quand même, mais je n’avais pas pensé que VS vérifie le nom de l’hôte avant de charger le projet.

1
fero

Vérifiez si IIS Express est installé. Si IIS Express est manquant, Visual Studio peut supprimer le paramètre <UseIISExpress>false</UseIISExpress> et continuer à rechercher le mode express.

1
Thea

J'ai résolu ce problème simplement en réinstallant IIS Express après le téléchargement à partir du lien ci-dessous:

https://www.Microsoft.com/en-us/download/confirmation.aspx?id=48264

1
Matthew

Dans mon cas, l'URL référencée dans le fichier csproj était incorrecte.

Il devait être préfixé par www.

J'ai apporté les modifications, sauvegardé le fichier et le projet s'est bien chargé.

0
Patrick Fischer

Pour les utilisateurs de DNN, le problème était que j'avais besoin d'une liaison pour dnndev.me sur le port 80. J'ai plusieurs installations qui s'exécutent sur différents ports et VS nécessite que cette URL particulière existe sur le port 80 (et non 86 comme le mien).

0
Mickers

J'ai rencontré ce problème lorsque l'élément <ProjectTypeGuids> du fichier .csproj contenait le GUID du projet de test unitaire: {3AC096D0-A1C2-E12C-1390-A8335801FDAB}.

En le supprimant, le projet se charge sans problèmes.

0
MvdD