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.
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.
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 enlaunchSettings.json
in Meerdere omgevingen gebruiken in ASP.NET Corevoor meer informatie over dit bestand.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.
Zorg ervoor dat Browser starten is geselecteerd.
Zorg ervoor dat
URL ,app-URL enSSL -URL vanapp 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
enhttps://localhost:5001
zijn. - Voor IIS Express is de app SSL-URL doorgaans
https://localhost:44334
.
- Voor een https-profiel is de eigenschap app-URL meestal
Controleer onder Omgevingsvariabelenof ASPNETCORE_ENVIRONMENT aanwezig is met een waarde van Development. Zo niet, voeg dan de variabele toe.
Zie Omgevingenvoor meer informatie over omgevingsvariabelen.
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.
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.
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.
Selecteer het tabblad Foutopsporing.
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.
Selecteer naast Startde optie IIS Express- of IIS- in de vervolgkeuzelijst.
Zorg ervoor dat Browser starten is geselecteerd.
Controleer onder Omgevingsvariabelenof ASPNETCORE_ENVIRONMENT aanwezig is met de waarde Development. Als dat niet het is, selecteert u Toevoegen en voegt u deze toe.
Gebruik Bestand>Geselecteerde items opslaan of Ctrl+S om wijzigingen op te slaan.
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.
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.
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.
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.
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,
- Selecteer Lokale IIS in de vervolgkeuzelijst.
- Selecteer naast het veld Project-URLVirtuele map makenals u de app nog niet hebt ingesteld in IIS.
Selecteer ASP.NETonder Foutopsporingsprogramma's.
Kies Bestand>Geselecteerde items opslaan (of druk op Ctrl+S) om wijzigingen op te slaan.
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.
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.
Start de web-app vanuit IIS en controleer of deze correct wordt uitgevoerd. Laat de web-app actief.
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:
Open in Visual Studio het
web.config
-bestand van het ASP.NET project.Web.config
is een XML-bestand, dus bevat geneste secties gemarkeerd met tags. Zoek de sectieconfiguration/system.web/compilation
. (Als hetcompilation
element niet bestaat, maakt u het.)Zorg ervoor dat het kenmerk
debug
in hetcompilation
-element is ingesteld optrue
. (Als hetcompilation
element geendebug
kenmerk bevat, voegt u het toe en stelt u het in optrue
.)Als u lokale IIS gebruikt in plaats van de standaard IIS Express-server, moet u ervoor zorgen dat de
targetFramework
kenmerkwaarde in hetcompilation
-element overeenkomt met het framework op de IIS-server.Het
compilation
element van hetweb.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 deconfiguration
- ensystem.web
-elementen, en het elementcompilation
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.
Verwante inhoud
- ASP.NET foutopsporing: systeemvereisten
- Procedure: Het werkproces uitvoeren onder een gebruikersaccount
- Procedure: de naam van het ASP.NET proces zoeken
- Fouten opsporen in geïmplementeerde webtoepassingen
- Procedure: Debuggen van ASP.NET-uitzonderingen
- Debuggen van webtoepassingen: fouten en oplossen van problemen