J’ai un projet Web dans mon fichier de solution qui est “indisponible” lorsque j’ouvre la solution. Lorsque je fais un clic droit sur le projet Web et que je recharge le projet, j’obtiens l’erreur suivante:
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.
Par collègues, Visual Studio doit me demander de 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:
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 la bonne version d’ASP.Net est installée et que vous avez installé les extensions IIS.
Pour ce faire, allez dans le dossier de la version .net appropriée dans c: \ (windows) \ microsoft.net \ (dotnetver) \ (en remplaçant les dossiers entre crochets par les bons dossiers sur votre PC) et exécutez cette commande
aspnet_regiis.exe -i
Ensuite, une fois que c’est exécuté et fini, parfois en cours d’exécution
iisreset
à partir de la ligne de commande aide, parfois vous n’avez pas besoin de.
Ensuite, accédez à votre gestionnaire IIS et trouvez votre site Web localhost et choisissez Ajouter un dossier. Accédez au dossier dans votre projet qui contient le projet ASP.Net réel 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 publiée ici) mais j’ai posté ces conseils car c’est un problème courant, mais les conseils que j’ai publiés sont génériques; Les commandes que j’ai 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!
Étant donné que la réponse acceptée nécessite IIS Manager et qu’IIS Express ne dispose pas du gestionnaire IIS ou d’une interface utilisateur, voici la solution pour les utilisateurs IIS Express (et devrait également fonctionner pour tout le monde):
Lorsque vous ouvrez Visual Studio et obtenez le message d’erreur, cliquez avec le bouton droit sur l’explorateur de solutions du projet et choisissez “Modifier {ProjectName} .csproj”
Dans le fichier de projet, modifiez la ligne suivante:
à
Enregistrez le fichier.
Maintenant, rechargez votre projet.
Terminé.
Vous pourrez alors 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 pour “Créer un répertoire virtuel”. Il se peut que vous deviez exécuter Visual Studio en tant qu’administrateur pour créer ce répertoire, faites-le si nécessaire.
Ouvrez le dossier du projet et supprimez {Project} .csproj.user , puis rechargez le projet sur Visual Studio.
Editez le fichier .csproj ou vbproj. Recherchez et remplacez ces entrées
true by false true by false
Cette solution fonctionne pour moi. Cliquez avec le bouton droit de la souris sur le projet, sélectionnez Modifier et recherchez le code suivant, comme indiqué ci-dessous dans l’image.
change the
True toFalse
OU
change the
http://example.com/ tohttp://localhost/
pour moi, je devais supprimer ces deux lignes du fichier .csproj
{3AA499DF-4A65-43B7-8965-D08A4C811834} {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
J’ai essayé de supprimer uniquement le premier, mais cela ne suffisait pas.
Dans mon cas, ce problème a été causé par des liaisons IIS cassées. Plus précisément, ma liaison “http” avait été supprimée. La recréer a résolu le problème.
Essayez d’ouvrir Visual Studio avec les privilèges d’administrateur. Dans mon cas, il a donné access au site IIS et a fait disparaître cette erreur. J’ai ensuite pu changer de projet pour utiliser IIS Express, qui ne semble pas avoir besoin de privilèges d’administrateur.
Cela a fonctionné pour moi: –
Faites en sorte que tous vos sites Web IIS pointent vers localhost (Tous non atsortingbués) uniquement
Dans mon cas, je voulais passer de http à https, donc j’avais supprimé http de IIS. Dans mon fichier .csproj.user trouvé que j’avais encore:
http://localhost/
Alors je l’ai changé pour:
https://localhost/
Vous pouvez charger le projet sans définir la valeur de l’atsortingbut UseIIS sur true. Suivez simplement les étapes ci-dessous:
Dans le fichier mywebproject.csproj–
Supprimez la balise
Vous ne croirez pas cela, start
Visual Studio en tant qu’administrateur
comme évident du message
Le serveur Web ” http: // localhost / MyWebApp ” est introuvable.
n’a pas pu être trouvé car peut- it has no privileges to see it
il suffit donc de restart
studio visuel en tant qu’administrateur
Dans mon cas, j’ai pu ouvrir la solution en mode hors connexion en lançant simplement la commande:
iisreset
Si vous êtes connecté via TFS, ouvrez votre fichier project.csproj.user et recherchez
false
et changez-le en vrai.
true
J’ai aussi eu cette erreur. Je pensais que tout était correctement configuré, mais j’ai découvert qu’il manquait une chose: le nom d’hôte que j’avais utilisé pour mon projet n’était pas (encore) résolu.
Étant donné que 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 chargeable. De toute évidence, je devais le faire de toute façon, mais je ne pensais pas que VS vérifie le nom d’hôte avant de charger le projet.
Pour vous, utilisateurs de Win8, si vous suivez les étapes de la réponse acceptée, la console vous envoie un message disant “vous n’utiliserez pas la ligne de commande pour exécuter cette commande” (paraphrase). Au lieu de cela, accédez aux 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 éléments suivants sont installés:
Internet Information Services > World Wide Web Services > Application Development Features > ASP.NET 4.5
Cela vérifiera également un tas d’autres options. Dès que j’ai installé ces fonctionnalités et que j’ai exécuté VS2012 avec des permissions élevées, j’ai pu lancer mon application avec succès.
Vérifiez si IIS Express est installé. Si IIS Express est manquant, Visual Studio peut ignorer le paramètre
et rechercher toujours l’express.
dans mon cas, assurez-vous d’avoir un site “par défaut”
Cela se produit avec moi lorsque j’ai essayé d’ouvrir un projet à partir du fichier .csproj, mais je le surmonte en ouvrant le projet à partir de VS:
Fichier> Ouvrir> Site Web
et sélectionnez le répertoire qui inclut mon projet.
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 votre valeur dans le fichier .csproj.
J’ai résolu ce problème simplement en réinstallant IIS Express après le téléchargement depuis le lien ci-dessous:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264
Dans mon cas, l’URL référencée dans le fichier csproj était incorrecte.
Il fallait le préfixer avec www.
J’ai apporté les modifications, enregistré le fichier et le projet s’est chargé correctement.
J’ai rencontré ce problème lorsque l’élément
du fichier .csproj contenait le GUID du projet de test unitaire: {3AC096D0-A1C2-E12C-1390-A8335801FDAB}
.
En le supprimant, le projet s’est chargé sans problème.
Pour les utilisateurs DNN, mon problème était d’avoir besoin d’une liaison pour dnndev.me sur le port 80. J’ai plusieurs installations qui s’exécutent sur des ports différents et VS exige que cette URL particulière existe sur le port 80 (pas 86 comme le mien).