Delen via


Debuggen van ASP.NET- of ASP.NET Core-apps in Visual Studio

U kunt fouten opsporen in ASP.NET en ASP.NET Core-apps in Visual Studio. Het proces verschilt tussen ASP.NET en ASP.NET Core en of u het uitvoert op IIS Express of een lokale IIS-server.

Notitie

De volgende stappen en instellingen zijn alleen van toepassing op het opsporen van fouten in apps op een lokale server. Foutopsporing van apps op een externe IIS-server maakt gebruik van koppelen aan proces-en negeert deze instellingen. Zie Externe foutopsporing van ASP.NET op een IIS-computer of Externe foutopsporing van ASP.NET Core op een externe IIS-computervoor meer informatie en instructies voor foutopsporing op afstand.

De ingebouwde Kestrel- en IIS Express-servers zijn opgenomen in Visual Studio. Kestrel is de standaarddebug-server voor ASP.NET Core-projecten en is vooraf geconfigureerd. IIS Express is de standaardserver voor foutopsporing voor ASP.NET.

De ingebouwde IIS Express-server is opgenomen in Visual Studio. IIS Express is de standaarddebug-server voor ASP.NET- en ASP.NET Core-projecten en is vooraf geconfigureerd. Het is de eenvoudigste manier om fouten op te sporen en ideaal voor initiële foutopsporing en testen.

Voor ASP.NET Core kunt u ook fouten opsporen op de Kestrel-webserver.

Vereisten voor lokale IIS-server

U kunt ook fouten opsporen in een ASP.NET of ASP.NET Core-app op een lokale IIS-server (versie 8.0 of hoger) die is geconfigureerd voor het uitvoeren van de app. Als u fouten wilt opsporen in lokale IIS, moet u voldoen aan de volgende vereisten:

  • Als deze niet is geïnstalleerd, installeert u de ASP.NET- en webontwikkelingsworkload. (Voer het installatieprogramma van Visual Studio opnieuw uit, selecteer Wijzigenen voeg deze workload toe.)

  • Voer Visual Studio uit als beheerder.

  • Installeer en configureer IIS correct met de juiste versie(s) van ASP.NET en/of ASP.NET Core. Voor meer informatie over het gebruik van IIS met ASP.NET Core, zie Host ASP.NET Core op Windows met IIS. Zie IIS en ASP.NET modules installerenvoor ASP.NET.

  • Zorg ervoor dat de app zonder fouten wordt uitgevoerd op IIS.

Fouten opsporen in ASP.NET Core-apps

Een standaardprofiel met de naam https of een profiel op basis van de projectnaam kan aanwezig zijn, die zijn geconfigureerd voor de Kestrel-webserver. Als u in plaats daarvan foutopsporing op lokale IIS uitvoert, moet u voldoen aan de vereisten voor lokale IIS-foutopsporing.

  1. Selecteer het ASP.NET Core-project in Visual Studio Solution Explorer en klik op het pictogram Eigenschappen of druk op Alt+Enterof klik met de rechtermuisknop en kies Eigenschappen.

  2. Selecteer het tabblad Debug en klik op de koppeling om de gebruikersinterface voor het openen van foutopsporingsprofielen te openen.

    De weergegeven gebruikersinterface komt overeen met de instellingen in het launchSettings.json-bestand van het project. Zie de sectie Ontwikkeling en launchSettings.json in Meerdere omgevingen gebruiken in ASP.NET Corevoor meer informatie over dit bestand.

  3. Selecteer het profiel dat u wilt configureren voor foutopsporing.

    • Selecteer voor Kestrel het https-profiel of het profiel dat naar het project is vernoemd.
    • Selecteer voor IIS Express IIS Express- in de vervolgkeuzelijst.
    • Selecteer voor lokale IIS Nieuwe en maak een nieuw IIS-profiel.
  4. Zorg ervoor dat Browser starten is geselecteerd.

  5. Zorg ervoor dat URL, app-URLen SSL-URL van app juist zijn.

    URL de locatie van de host-URL voor .NET Core of .NET 5+ aangeeft. Voor een profiel dat is vernoemd naar het project (dat wil zeggen, de eigenschap commandName in launchSettings.json is Project), luistert de Kestrel-server naar de opgegeven poort. Voor een IIS-profiel is dit meestal dezelfde waarde als de app-URL. Zie de sectie IIS-startprofiel onder Het project configurerenvoor meer informatie.

    App-URL en App SSL-URL specificeren de toepassings-URL('s).

    • Voor een https-profiel is de eigenschap app-URL meestal https://localhost:7241;http://localhost:5175.
    • Voor een profiel dat naar het project is genoemd, zullen deze eigenschappen doorgaans http://localhost:5000 en https://localhost:5001zijn.
    • Voor IIS Express is de app SSL-URL doorgaans https://localhost:44334.
  6. Controleer onder Omgevingsvariabelenof ASPNETCORE_ENVIRONMENT aanwezig is met een waarde van Development. Zo niet, voeg dan de variabele toe.

    ASP.NET Core foutopsporingsprogramma-instellingen

    Zie Omgevingenvoor meer informatie over omgevingsvariabelen.

  7. Als u fouten in de app wilt opsporen, stelt u in uw project onderbrekingspunten in voor bepaalde code. Controleer op de werkbalk van Visual Studio of de configuratie is ingesteld op Foutopsporing.

  8. Als u foutopsporing wilt starten, selecteert u de profielnaam op de werkbalk, zoals https-, IIS Express-of <iis-profielnaam> op de werkbalk, selecteert u Start Debugging in het menu Foutopsporing of drukt u op F5. De debugger stopt bij de onderbrekingspunten. Als het foutopsporingsprogramma de onderbrekingspunten niet kan bereiken, raadpleegt u Problemen met foutopsporing oplossen.

Fouten opsporen in ASP.NET Core-apps

IIS Express is de standaardinstelling en is vooraf geconfigureerd. Als u fouten in lokale IIS opspoort, moet u voldoen aan de vereisten voor lokale IIS-foutopsporing.

  1. Selecteer het ASP.NET Core-project in Visual Studio Solution Explorer en klik op het pictogram Eigenschappen of druk op Alt+Enterof klik met de rechtermuisknop en kies Eigenschappen.

  2. Selecteer het tabblad Foutopsporing.

  3. In het deelvenster Eigenschappen naast Profiel,

    • Selecteer voor IIS Express IIS Express- in de vervolgkeuzelijst.
    • Voor lokale IIS selecteert u de naam van de app in de vervolgkeuzelijst of selecteert u Nieuw, maakt u een nieuwe profielnaam en selecteert u OK.
  4. Selecteer naast Startde optie IIS Express- of IIS- in de vervolgkeuzelijst.

  5. Zorg ervoor dat Browser starten is geselecteerd.

  6. Controleer onder Omgevingsvariabelenof ASPNETCORE_ENVIRONMENT aanwezig is met de waarde Development. Als dat niet het is, selecteert u Toevoegen en voegt u deze toe.

    ASP.NET Core foutopsporingsprogramma-instellingen

  7. Gebruik Bestand>Geselecteerde items opslaan of Ctrl+S om wijzigingen op te slaan.

  8. Als u fouten in de app wilt opsporen, stelt u in uw project onderbrekingspunten in voor bepaalde code. Controleer op de werkbalk van Visual Studio of de configuratie is ingesteld op Foutopsporing, en of IIS Express-, of de naam van het nieuwe IIS-profiel, wordt weergegeven in het emulatorveld.

  9. Als u foutopsporing wilt starten, selecteert u IIS Express- of <iis-profielnaam> op de werkbalk, selecteert u Start Foutopsporing in het menu Fout opsporing of drukt u op F5-. De debugger houdt stil bij de breakpoints. Als het foutopsporingsprogramma de onderbrekingspunten niet kan bereiken, raadpleegt u Problemen met foutopsporing oplossen.

Fouten opsporen in ASP.NET apps

IIS Express is de standaardinstelling en is vooraf geconfigureerd. Als u fouten in lokale IIS opspoort, moet u voldoen aan de vereisten voor lokale IIS-foutopsporing.

  1. Selecteer het ASP.NET project in Visual Studio Solution Explorer en klik op het pictogram Eigenschappen of druk op Alt+Enterof klik met de rechtermuisknop en kies Eigenschappen.

  2. Selecteer het tabblad Web.

    Als u het tabblad Web niet ziet, raadpleegt u Fouten opsporen ASP.NET Core-apps. Het tabblad Web wordt alleen weergegeven voor ASP.NET Framework.

  3. In het deelvenster Eigenschappen, onder Servers,

    • Selecteer voor Kestrel https- in de vervolgkeuzelijst.
    • Selecteer voor IIS Express IIS Express- in de vervolgkeuzelijst.
    • Voor lokale IIS,
      1. Selecteer Lokale IIS in de vervolgkeuzelijst.
      2. Selecteer naast het veld Project-URLVirtuele map makenals u de app nog niet hebt ingesteld in IIS.
  4. Selecteer ASP.NETonder Foutopsporingsprogramma's.

    Schermopname met instellingen voor ASP.NET foutopsporingsprogramma.

  5. Kies Bestand>Geselecteerde items opslaan (of druk op Ctrl+S) om wijzigingen op te slaan.

  6. Als u fouten in de app wilt opsporen, stelt u in uw project onderbrekingspunten in voor bepaalde code. Controleer op de werkbalk van Visual Studio of de configuratie is ingesteld op Debuggenen de gewenste browser verschijnt in IIS Express (<Browsernaam>) of Lokale IIS (<Browsernaam>) in het emulatorveld.

  7. Als u foutopsporing wilt starten, selecteert u IIS Express (<browsernaam>) of lokale IIS (<browsernaam>) op de werkbalk, selecteert u Start Debugging in het menu Foutopsporing of drukt u op F5. Het foutopsporingsprogramma pauzeert op de onderbrekingspunten. Als het foutopsporingsprogramma de onderbrekingspunten niet kan bereiken, raadpleegt u Problemen met foutopsporing oplossen.

Problemen bij foutopsporing oplossen

Als lokale IIS-foutopsporing niet kan worden voortgezet naar het onderbrekingspunt, volgt u deze stappen om problemen op te lossen.

  1. Start de web-app vanuit IIS en controleer of deze correct wordt uitgevoerd. Laat de web-app actief.

  2. Selecteer in Visual Studio Foutopsporing > Koppelen aan proces of druk op Ctrl+Alt+P-en maak verbinding met het ASP.NET- of ASP.NET Core-proces (meestal w3wp.exe of dotnet.exe). Voor meer informatie, zie Koppelen aan Proces en Hoe de naam van het ASP.NET-proces te vinden.

Als u verbinding kunt maken en het onderbrekingspunt kunt bereiken met behulp van Koppelen aan proces, maar niet door Debuggen>Starten met debuggen of F5te gebruiken, is een instelling waarschijnlijk onjuist in de projecteigenschappen. Als u een HOSTS-bestand gebruikt, controleert u of het ook correct is geconfigureerd.

Foutopsporing configureren in het web.config-bestand

ASP.NET projecten standaard web.config bestanden bevatten, die zowel app-configuratie- als opstartinformatie bevatten, waaronder instellingen voor foutopsporing. De web.config-bestanden moeten correct worden geconfigureerd voor foutopsporing. De Eigenschappen instellingen in vorige secties werken de web.config bestanden bij, maar u kunt ze ook handmatig configureren.

Notitie

ASP.NET Core-projecten hebben in eerste instantie geen web.config bestanden, maar gebruiken appsettings.json- en launchSettings.json-bestanden voor app-configuratie en startgegevens. Als u de app implementeert, wordt er een web.config bestand of bestanden in het project gemaakt, maar deze bevatten meestal geen foutopsporingsgegevens.

Tip

Het implementatieproces kan de web.config-instellingen bijwerken, dus voordat u fouten probeert op te sporen, moet u ervoor zorgen dat de web.config is geconfigureerd voor foutopsporing.

Een web.config-bestand handmatig configureren voor foutopsporing:

  1. Open in Visual Studio het web.config-bestand van het ASP.NET project.

  2. Web.config is een XML-bestand, dus bevat geneste secties gemarkeerd met tags. Zoek de sectie configuration/system.web/compilation. (Als het compilation element niet bestaat, maakt u het.)

  3. Zorg ervoor dat het kenmerk debug in het compilation-element is ingesteld op true. (Als het compilation element geen debug kenmerk bevat, voegt u het toe en stelt u het in op true.)

    Als u lokale IIS gebruikt in plaats van de standaard IIS Express-server, moet u ervoor zorgen dat de targetFramework kenmerkwaarde in het compilation-element overeenkomt met het framework op de IIS-server.

    Het compilation element van het web.config-bestand moet eruitzien als in het volgende voorbeeld:

    Notitie

    Dit voorbeeld is een gedeeltelijk web.config bestand. Er zijn meestal extra XML-secties in de configuration- en system.web-elementen, en het element compilation kan ook andere kenmerken en elementen bevatten.

    <configuration>
       ...
       <system.web>
           <compilation  debug="true"  targetFramework="4.6.1" ... >
              ...
           </compilation>
       </system.web>
    </configuration>
    

ASP.NET automatisch wijzigingen in web.config bestanden detecteert en de nieuwe configuratie-instellingen toepast. U hoeft de computer of de IIS-server niet opnieuw op te starten om wijzigingen door te voeren.

Een website kan verschillende virtuele mappen en submappen bevatten, met web.config bestanden in elk bestand. ASP.NET apps configuratie-instellingen overnemen van web.config bestanden op hogere niveaus in het URL-pad. De hiërarchische web.config bestandsinstellingen zijn van toepassing op alle ASP.NET apps eronder in de hiërarchie. Als u een andere configuratie instelt in een web.config bestand lager in de hiërarchie, worden de instellingen in het hogere bestand overschreven.

Als u bijvoorbeeld debug="true" opgeeft in www.microsoft.com/aaa/web.config, neemt een app in de aaa map of in een submap van aaa die instelling over, behalve als een van deze apps de instelling overschrijft met een eigen web.config bestand.

Belangrijk

De foutopsporingsmodus vermindert de prestaties van uw app aanzienlijk. Wanneer u een productie-app implementeert of prestatiemetingen uitvoert, stelt u debug="false" in de web.config in en geeft u een release-build op.