IIS Express – 500.19 Kan configuratiebestand niet lezen – omdat het naar het verkeerde pad kijkt

Ik heb onlangs mijn root-TFS-map hernoemd van D:\TFS\systemstfsnaar D:\TFS\sysomdat een van de paden van het project te lang was voor Windows. Wanneer ik nu een ander project probeer uit te voeren (D:\TFS\sys\companydomain.com\Dev\Flowers\wsBusinessLayer) in VS2013 met IIS Express (project-URL http://localhost:59729/Flowers/wsBusinessLayer/) Ik krijg de volgende foutmelding in de browser:

HTTP-fout 500.19 – Interne serverfout
De opgevraagde pagina kan niet worden geopend omdat de gerelateerde configuratiegegevens voor de pagina ongeldig zijn.

Module – IIS Web Core
Melding – BeginRequest
Foutcode – 0x80070003
Configuratiefout – Kan configuratiebestand niet lezen
Configuratiebestand – \?\D:\TFS\systemstfs\companydomain.com\Dev\Flowers\web.config
Aangevraagde URL – http://localhost:59729/Flowers/wsBusinessLayer/InformationServices.asmx
Fysiek pad – D:\TFS\sys\companydomain.com\Dev\Flowers\wsBusinessLayer\InformationServices.asmx

(nadruk van mij, D: is de tweede HDD op mijn machine, geen netwerkshare)

Het is mij duidelijk wat het probleem is (het pad van het configuratiebestand is verkeerd), maar ik heb geen idee hoe ik het moet oplossen. Ik heb geprobeerd:

  • Inschakelen “breken op CLR-uitzonderingen wanneer gegooid”
  • Opnieuw ophalen van de oplossing van TFS
  • Opnieuw opstarten
  • Overschakelen naar IIS en dan terug naar Express
  • Googelen op 500.19, 0x80070003, verkeerd pad, kan configuratiebestand niet lezen en verschillende combinaties van die termen

Maar heb geen geluk gehad. Is iemand dit eerder tegengekomen?


Antwoord 1, autoriteit 100%

Hier is een andere mogelijke oplossing waarbij niet gevist wordt op het bestand applicationhost.config:

  • Klik met de rechtermuisknop op Webproject > Web > Project-URL > (bijv. ‘localhost:5459’) en verhoog dan het poortnummerwaardoor een nieuwe invoer in dat bestand wordt geforceerd.

In mijn geval moest ik ook de authenticatiemodus wijzigen, wat kan worden gedaan via:

  • Selecteer webproject > druk op F4 > stel zo nodig Windows-verificatie in (in mijn geval ingeschakeld).

Antwoord 2, autoriteit 30%

Blijkbaar moest ik %USERPROFILE%\Documents\IISExpress\config\applicationhost.configop de volgende manier bewerken –

<configuration>
  <system.applicationHost>
    <sites>
      <site name="wsBusinessLayer">
        <application path="/">
           <virtualDirectory path="/Flowers" physicalPath="D:\TFS\sys\companydomain.com\Dev\Flowers" />

Ik weet niet hoe dit bestand “goed” wordt gewijzigd, maar het handmatig bewerken werkte prima.


Antwoord 3, autoriteit 21%

In mijn geval was het verkeerde pad opgenomen in een .vs-map in de zip die ik van een collega ontving. Normaal gesproken zou ik de broncode krijgen via de bronrepository waar .vs niet is ingecheckt.

Het verwijderen van de .vs-map loste het probleem voor mij op.


Antwoord 4, autoriteit 14%

In mijn geval hebben de volgende wijzigingen deze fout opgelost:

Open het bestand applicationhost.configvan [SolutionFolder]>.vs[Hidden Folder]en wijzig de waarde van het kenmerk overrideModeDefaultin windowsAuthenticationvan Weigerentot Toestaan. Zoals hieronder weergegeven.


Antwoord 5, autoriteit 9%

Het wijzigen van het poortnummer op mijn MVC-project loste mijn probleem op. Ik draaide meer dan een uur in cirkels op zoek naar een antwoord. Bedankt Sonic Soul.

Het verbaast me altijd als een kleine aanpassing iets vreselijk kapot kan maken.

Ik heb het poortnummer verhoogd en de fout is op magische wijze opgelost.

Project Properties > Web > Project Url 

Visual Studios 2015 gebruiken.


Antwoord 6, autoriteit 2%

Als u Lokale IIS-webserver gebruikt, wijzigt u de naam van de aangepaste virtuele map, slaat u op en probeert u het opnieuw. Hierna kunt u de oorspronkelijke naam terugzetten.


Antwoord 7, autoriteit 2%

Als ik een virtuele machine met “Gedeelde mappen” gebruikte — ik gebruikte Workstation Pro om de map te delen. Toen het project zich in de “Gedeelde map” bevond die op de HOST-pc werd gehost, kon ik het project niet uitvoeren. Het verplaatsen van het project naar een “lokale” schijf is voor mij opgelost.


Antwoord 8

In mijn geval ontving ik een nieuwe machine, maar toen ik probeerde de broncode uit te voeren (die is gekopieerd van de oude machine), kreeg ik deze foutmelding.
Het verwijderen van het bestand applicationhost.config uit de map .vs\config onder de broncodemap loste het probleem op.


Antwoord 9

Ik kreeg dezelfde fout op IIS 8.5 (niet express)

Voor mij was het omdat ik de map had vervangen door een kopie en deze had hernoemd terwijl IIS actief was. Om de een of andere reden bleef hij uitvallen. Ik moest de websitedefinitie uit IIS verwijderen en opnieuw toevoegen om het werkend te krijgen.


Antwoord 10

Heb vandaag hetzelfde probleem gehad.

Wijziging die het probleem heeft veroorzaakt

Functie verplaatsen van een aparte controller naar een homecontroller.
Ik heb letterlijk een weergave en de functionaliteit erachter verplaatst van Controller’X’naar HomeController

Aard van het probleem

  1. Alles werkt prima als het wordt uitgevoerd via IIS express/Visual Studio
  2. Alles werkt prima als het lokaal in IIS wordt geïmplementeerd.
  3. De hel breekt los wanneer deze wordt ingezet op de Deployment-machine.
  4. Werkt prima als ik implementeer op een ‘nieuwe site’in IIS van de implementatiemachine.

Oplossen

  1. verwijder de instantie van de site/applicatiegroep uit IIS.
  2. Maak ze opnieuw.
  3. Implementeren.

Antwoord 11

In mijn geval vervang ik ..in mijn pad door een normaal mappad.

TL;DR

Ik heb de “slimme” truc gedaan door het relatieve pad van mijn scriptbestand te gebruiken, omdat ik mijn mapadres niet hard wilde coderen.

"C:\Program Files\IIS Express\iisexpress.exe" /path:"%~dp0..\Lagardsdorren\bin\Debug\netcoreapp2.2\publish" /port:44342

Ik wist het, maar het kostte me wat tijd om te beseffen dat ..niet grata is in IIS(express) omdat het het mogelijk maakt om jezelf uit de homedirectory van je site te verwijderen. In mijn geval niet, maar ik denkIIS(express) stopt gewoon alles met ..erin.

Ik weet niet hoe ik terug moet naar mijn slimme relatieve pad, maar dat is voor een andere vraag.


Antwoord 12

Ik heb dit opgelost door naar de projecteigenschappen > Web > en klikken op “Maak virtuele map” dan hoefde ik mijn poorten niet te veranderen.


Antwoord 13

Mijn installatie is een .NET 4.6.1 MVC-project dat wordt gehost als een Azure Cloud Service. Ik kreeg deze fout bij het lokaal uitvoeren met Visual Studio 2019 en IIS Express. Ik heb de fout kunnen herstellen. In mijn geval was de fout een rode haring en een symptoom van een ander probleem. Voor mij moest ik mijn verwijzingen naar System.http.net, System.runtime en System.Runtime.InteropServices verwijderen. Daarna heb ik de laatste versie van die drie referenties weer toegevoegd met Nuget.

Het probleem was dat mijn code die drie pakketten niet kon vinden. Het heeft problemen met het vinden van de pakketten elke keer als ik van git-branch verander, maar dat is een volledig aparte fout, en een die ik nog steeds probeer op te lossen. De manier waarop ik erachter kwam wat er mis was, was dat ik de code zou uitvoeren en naar de uitvoer “build” en “debug” in Visual Studio 2019 zou kijken. Ik zag fouten met betrekking tot de code die System.Http.Net niet kon vinden, dus Ik loste dat op, zag toen de fouten met de andere pakketten en repareerde ze. Het echte probleem was dat mijn code uitzonderingen kreeg en niet correct werkte, het manifesteerde zich toevallig als deze 500.19-fout.

Een andere mogelijk bijdragende factor is dat ik eerder op de dag “alleen mijn code” heb uitgeschakeld. Dit leek ervoor te zorgen dat mijn code niet kapot ging wanneer er uitzonderingen werden aangetroffen. Nadat ik dit weer had ingeschakeld, brak mijn code wanneer er een uitzondering optrad, en dit hielp me ook de oorzaak van het probleem te achterhalen. Om deze optie te vinden, ga naar Tools > Opties > Foutopsporing > Algemeen > “Schakel alleen mijn code in”.

Oorspronkelijke fout:
voer hier de afbeeldingsbeschrijving in


Antwoord 14

Ik kreeg deze fout bij het ophalen van code van mijn collega en het verwees naar haar pad. Ik heb geprobeerd het pad in de hele applicatiemap te controleren, maar dat lukte niet. Dus ik kreeg de code opnieuw van een andere bron dan mijn collega.

Other episodes