web-dev-qa-db-fra.com

Erreur HTTP 500.19 - Impossible de lire le fichier de configuration

Tout à coup, dans l'une de mes applications ASP.NET, je suis incapable de l'exécuter dans Visual Studio 2013 en raison de l'erreur affichée ci-dessous. Il semble qu’il essaie d’ouvrir le fichier web.config à partir d’un chemin qui n’existe même pas. Tout le code de mon projet, y compris web.config, se trouve sous C:\Projects\SourceCode\AFEManager\Trunk\AFEManager.Web. J'ai trouvé ici un certain nombre de publications d'utilisateurs rencontrant une erreur similaire, mais les solutions semblent varier et aucune que j'ai trouvée jusqu'à présent ne semble s'appliquer à ma situation. J'ai consulté le répertoire TraceLogFiles et le fichier de journal le plus récent il y a cinq jours; il n'a donc manifestement pas consigné de journal depuis que j'ai ce problème. Toutes les suggestions sont appréciées.

enter image description here

21
PongGod

Dans mon cas, j’ai supprimé tous les dossiers de D:\Mes documents\Mes sites Web\avant Ensuite, j’ai détecté l’erreur Il existe un fichier .vs\config\applicationhost.config dans le dossier de ma solution contient une référence au dossier supprimé. J'ai donc supprimé applicationhost.config, puis appuyé sur le bouton "Créer un répertoire virtuel" dans la page Web des propriétés de mon projet. Il a été recréé le fichier et le dossier

20
MirrorBoy

J'ai pu résoudre ce problème même si je ne peux pas dire que je comprends parfaitement tous les détails. Je vais essayer de décrire la situation du mieux que je peux comprendre. J'espère que d'autres, plus perspicaces, pourront apporter des éclaircissements supplémentaires.

Après avoir effectué tous mes développements sur mon poste de travail, il a été suggéré que je commence à effectuer ce travail dans un nouvel environnement VM qui avait été configuré pour moi. J'ai donc installé VS 2013 et copié mon code source à partir de divers projets là-bas. Cependant, plutôt que de suivre ma convention de chemin d'accès local précédente de C:\Projects\SourceCode [NomProjet] ... j'ai décidé d'utiliser cette fois les répertoires configurés lors de l'installation du VS, c:\users [MyUser]\Mes documents.\Visual Studio 2013\Projects [NomProjet]. Peu de temps après, notre équipe d'infrastructure a apporté une modification afin que mon répertoire personnel, c:\users\rmayer, soit maintenant dirigé vers un lecteur réseau commun,\totalsafety\TSUsers\rmayer. Tout a continué à fonctionner sans aucun problème.

Cependant, en raison de diverses difficultés rencontrées dans cet environnement VM, j'ai décidé de reprendre mes travaux de développement sur mon poste de travail en utilisant les chemins locaux d'origine de mon code source. C'est à ce moment que j'ai commencé à rencontrer les erreurs décrites ci-dessus lorsque j'essayais de faire exécuter mon code par VS. Ce que j'ai commencé à apprendre, c'est qu'il existe un fichier applicationhost.config que IIS Express utilise situé ici:\totalsafety\TSUsers\rmayer\Mes documents\IISExpress\config. Il contient des entrées pour chacun de mes projets Web. celui relatif à cette question avait une section qui ressemblait à ceci:

        <site name="AFEManager.Web-Site" id="8">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\Users\rmayer\Documents\My Web Sites\AFEManager.Web-Site" />
            </application>
            <application path="/AFEManager" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\Projects\SourceCode\AFEManager\Trunk\AFEManager.Web" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:19257:localhost" />
            </bindings>
        </site>

L'attribut de chemin physique répertorié sous applicationPool = "Clr4IntegratedAppPool" à ce moment-là a été défini en fonction du chemin local que j'utilisais à l'époque où je travaillais dans l'environnement VM. Maintenant que ce fichier est partagé, que je travaille en local ou dans VM en raison du déplacement des répertoires de base des utilisateurs, ce chemin n'est pas valide lorsque je travaille à partir de mon poste de travail. En mettant à jour ce chemin vers C:\Projects\SourceCode\AFEManager\Trunk\AFEManager.Web, il fonctionne désormais correctement à partir de mon poste de travail.

Encore une fois, je ne comprends pas très bien comment cela est supposé fonctionner, mais cela me dit que je ne serai pas en mesure de faire du développement à partir de plusieurs environnements (même si je ne le souhaite plus) à moins que les chemins locaux ne soient cohérents. d'eux. Si je ne me trompe pas, cela semble être une conception moins qu'idéale.

19
PongGod

J'ai changé le chemin du répertoire virtuel dans vs\config\applicationhost.config dans le dossier de la solution.

6
Meghna Reddy

Vous pouvez modifier le chemin du fichier web.config en son chemin réel dans le fichier applicationhost.config. Ce fichier se trouve dans le dossier /.vs/config. 

Après avoir modifié le chemin dans ce fichier, enregistrez-le et redémarrez le projet, le problème a été résolu. 

Cela se produit parce que j'ai différents postes de travail, mais le projet enregistre dans différents dossiers.

J'ai eu ce problème lorsque j'ai déplacé le dossier du projet sur la nouvelle machine. Le problème est que le site Web du VS est enregistré dans son fichier de configuration (applicationhost.config) dans le dossier .vs/, mais qu'il n'a pas créé de dossier dans %USERPROFILE%\My Documents\My Web Sites\. Si vous cliquez simplement sur Créer un répertoire virtuel dans les propriétés du projet (onglet Web), cela ne suffira pas. 

  1. Fermez d'abord votre VS et supprimez le dossier .vs/ dans votre répertoire de solutions.
  2. Rouvrez VS et cliquez sur Créer un répertoire virtuel dans les propriétés du projet (onglet Web). VS enregistrera le site à nouveau et créera le dossier correspondant dans %USERPROFILE%\My Documents\My Web Sites\.
2
dzitkowskik

Dans mon cas, le projet était situé sur le réseau et non sur mon disque local. Après avoir copié le projet au niveau local, le problème a été résolu. J'espère que cela sauvera du temps à quelqu'un qui a le même problème.

2
Amir Chatrbahr

Voici une solution que j'ai trouvée.

https://gyorgybalassy.wordpress.com/2015/03/06/i-asked-for-a-vs-folder-and-the-vs-team-gave-it-to-me/

(1) Recherchez le fichier applicationhost.config dans | YourSolution |\.vs\config.

 enter image description here

(2) Modifiez le chemin physique de VirtualDirectory dans votre projet.

(3) Redémarrez la solution. Lancer le projet.

(4) Si cela ne fonctionne toujours pas, essayez de vérifier les paramètres de votre configuration IISExpress. S'il n'y a pas de paramètre de site, copiez-le et collez-le dans | UserOnYourComputer |\Documents\IISExpress\config\applicationhost.config

 enter image description here

(5) Modifiez l'identifiant en un autre identifiant qui ne sera pas utilisé dans IISExpress applicationhost.config.

(6) Commencez votre projet.

0
Epic Chen

J'ai rencontré le même problème et je le résous assez simplement. Mon problème est survenu après que j'aie effectué une opération de fusion dans le référentiel git, après l'opération de fusion Visual Studio, qui modifiait l'URL par défaut de mon projet en l'URL par défaut de l'ordinateur de mon partenaire d'où il avait transféré la dernière fois dans mon référentiel. Alors, voici comment j'ai résolu cette erreur:

  1. Il suffit d'aller dans les propriétés du projet.
  2. Dans le menu gauche aligné verticalement, sélectionnez Web.
  3. Une fois que vous aurez défini l’URL du projet et une zone de texte contenant le numéro de port par défaut, il suffit de mettre de côté cette zone de texte pour cliquer sur le bouton "Créer un répertoire virtuel".
  4. Appuyez sur ce bouton et vous voilà . Il va à nouveau pointer l'URL par défaut sur le dossier de travail actuel de votre projet.

J'espère que ça marche pour vous tous :) 

0
Hassaan Baig

Merci PongGod !! Je ne suis pas en mesure de commenter votre réponse, mais je voulais tout de même poster car j'avais exactement le même problème lorsque j'utilisais une instance de Orchard . Dans mon cas, tout fonctionnait bien jusqu'à ce que je trouve un groupe d'anciens fichiers de projet situés dans:

%USERPROFILE%\My Documents\My Web Sites\

Et commencé à les supprimer sans raison apparente. J'ai ensuite essayé de démarrer Orchard à partir de Visual Studio en mode débogage et j'ai reçu le message d'erreur ci-dessus. Après avoir appliqué le même correctif au fichier applicationhost.config, tout fonctionne correctement à présent.

Dans mon cas, je suppose que les répertoires ont été mélangés parce que j'avais initialement exécuté les fichiers Orchard par défaut à partir de Visual Studio et de Web Matrix. Ensuite, j'ai téléchargé les fichiers sources complets et commencé à les exécuter à partir d'un répertoire complètement différent. Merci encore.

0
hvaughan3