Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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.
Opmerking
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 Attach to Process en negeert deze instellingen. Zie externe foutopsporing ASP.NET en ASP.NET Core voor meer informatie en instructies voor externe foutopsporing ASP.NET Core op een externe IIS-computer en externe foutopsporing in Azure App Service.
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.
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 workload ASP.NET en webontwikkeling. (Voer het installatieprogramma van Visual Studio opnieuw uit, selecteer Wijzigen en 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. Zie Host ASP.NET Core in Windows met IIS voor meer informatie over het gebruik van IIS met ASP.NET Core. Zie IIS- en ASP.NET-modules installeren voor ASP.NET.
Zorg ervoor dat de app wordt uitgevoerd op IIS en wordt geopend in de browser.
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 ervoor zorgen dat u voldoet 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+Enter of klik met de rechtermuisknop en kies Eigenschappen.
Selecteer het tabblad Foutopsporing en klik op de koppeling om de gebruikersinterface voor het openen van startprofielen voor foutopsporing te openen.
De weergegeven gebruikersinterface komt overeen met de instellingen in het projectbestand
launchSettings.json. Zie de sectie Ontwikkeling enlaunchSettings.jsonin 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.
- Voor IIS Express selecteert u IIS Express in de vervolgkeuzelijst.
- Voor lokale IIS selecteert u Nieuw en maakt u een nieuw IIS-profiel.
Zorg ervoor dat de browser Starten is geselecteerd.
Zorg ervoor dat url, app-URL en APP SSL-URL juist zijn.
Url geeft de locatie van de host-URL voor .NET Core of .NET 5+ op. Voor een profiel dat is vernoemd naar het project (waarbij de eigenschap commandName in
launchSettings.jsonProjectis), 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 geven de toepassings-URL('s) op.
- Voor een https-profiel is de eigenschap App-URL doorgaans
https://localhost:7241;http://localhost:5175. - Voor een profiel met de naam van het project zijn deze eigenschappen doorgaans
http://localhost:5000enhttps://localhost:5001. - Voor IIS Express is de SSL-URL van de app doorgaans
https://localhost:44334.
- Voor een https-profiel is de eigenschap App-URL doorgaans
Controleer onder Omgevingsvariabelen of ASPNETCORE_ENVIRONMENT aanwezig is met de waarde Ontwikkeling. Zo niet, voeg dan de variabele toe.
Zie Omgevingen voor 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 in de werkbalk, zoals https, IIS Express of <IIS-profielnaam> , selecteert u Foutopsporing starten 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.
Fouten opsporen in ASP.NET apps
IIS Express is de standaardinstelling en is vooraf geconfigureerd. Als u foutopsporing op lokaal IIS uitvoert, moet u ervoor zorgen dat u voldoet 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+Enter of klik met de rechtermuisknop en kies Eigenschappen.
Selecteer het tabblad Web .
Als u het tabblad Web niet ziet, raadpleegt u Debug ASP.NET Core-apps. Het tabblad Web wordt alleen weergegeven voor ASP.NET Framework.
In het deelvenster Eigenschappen onder Servers,
- Voor Kestrel selecteert u https in de vervolgkeuzelijst.
- Voor IIS Express selecteert u IIS Express in de vervolgkeuzelijst.
- Voor lokale IIS,
- Selecteer Lokaal IIS in de vervolgkeuzelijst.
- Selecteer Naast het veld Project-URL de optie Virtuele map maken als u de app nog niet hebt ingesteld in IIS.
Selecteer ASP.NET onder Foutopsporingsprogramma's.
Kies 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 Foutopsporing en de gewenste browser wordt weergegeven in IIS Express (<browsernaam>) of lokaal IIS (<browsernaam>) in het emulatorveld.
Als u foutopsporing wilt starten, selecteert u IIS Express (<browsernaam>) of lokale IIS (<browsernaam>) in de werkbalk, selecteert u Foutopsporing starten 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 met 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 Debug > Attach to Process of druk op Ctrl Alt++P en maak verbinding met het ASP.NET of ASP.NET Core-proces (meestal w3wp.exe of dotnet.exe). Zie Koppelen aan proces en hoe u de naam van het ASP.NET proces kunt vinden voor meer informatie.
Als u verbinding kunt maken en het onderbrekingspunt kunt bereiken met met behulp van Koppelen aan proces, maar niet met Debuggen>Start Debugging of F5, 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 bestanden bevatten web.config , die zowel app-configuratie- als opstartinformatie bevatten, waaronder foutopsporingsinstellingen. De web.config bestanden moeten correct zijn geconfigureerd voor foutopsporing. Met de eigenschappen-instellingen in de vorige secties worden de web.config bestanden bijgewerkt, maar u kunt ze ook handmatig configureren.
Opmerking
ASP.NET Core-projecten hebben web.config in eerste instantie geen 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 doorgaans geen foutopsporingsgegevens.
Aanbeveling
Het implementatieproces kan de web.config instellingen bijwerken, dus voordat u fouten probeert op te sporen, moet u ervoor zorgen dat de web.config instellingen zijn geconfigureerd voor foutopsporing.
Een bestand handmatig configureren web.config voor foutopsporing:
Open het bestand
web.configvan het ASP.NET-project in Visual Studio.Web.configis een XML-bestand, dus het bevat geneste secties die gemarkeerd zijn met tags. Zoek deconfiguration/system.web/compilationsectie. (Als hetcompilationelement niet bestaat, maakt u het.)Zorg ervoor dat het
debugkenmerk in hetcompilationelement is ingesteld optrue. (Als hetcompilationelement geen kenmerk bevatdebug, 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
targetFrameworkkenmerkwaarde in hetcompilationelement overeenkomt met het framework op de IIS-server.Het
compilationelement van hetweb.configbestand moet eruitzien als in het volgende voorbeeld:Opmerking
Dit voorbeeld is een gedeeltelijk
web.configbestand. Er zijn meestal extra XML-secties in deconfigurationensystem.webelementen, en hetcompilationelement 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 elke directory. 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 opgeeft debug="true" in www.microsoft.com/aaa/web.config, worden alle apps in de aaa map of in een submap van aaa die instelling overgenomen, 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 en specificeert u een release-build.
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: ASP.NET-uitzonderingen debuggen
- Fouten opsporen in webtoepassingen: fouten en probleemoplossing