Felsöka ASP.NET- eller ASP.NET Core-appar i Visual Studio
Du kan felsöka ASP.NET och ASP.NET Core-appar i Visual Studio. Processen skiljer sig mellan ASP.NET och ASP.NET Core och om du kör den på IIS Express eller en lokal IIS-server.
Not
Följande steg och inställningar gäller endast för felsökning av appar på en lokal server. Felsökning av appar på en fjärransluten IIS-server använder Koppla till processoch ignorerar dessa inställningar. Mer information och instruktioner för fjärrfelsökning ASP.NET och ASP.NET Core finns i Fjärrfelsökning ASP.NET Core på en fjärransluten IIS-datoroch Fjärrfelsöka Azure App Service.
De inbyggda Kestrel- och IIS Express-servrarna ingår i Visual Studio. Kestrel är standardservern för felsökning för ASP.NET Core-projekt och är förkonfigurerad. IIS Express är standardservern för felsökning för ASP.NET.
Den inbyggda IIS Express-servern ingår i Visual Studio. IIS Express är standardservern för felsökning för ASP.NET- och ASP.NET Core-projekt och är förkonfigurerad. Det är det enklaste sättet att felsöka och perfekt för inledande felsökning och testning.
För ASP.NET Core kan du också felsöka på Kestrel-webbservern.
Krav för lokal IIS-server
Du kan också felsöka en ASP.NET- eller ASP.NET Core-app på en lokal IIS-server (version 8.0 eller senare) som är konfigurerad för att köra appen. Om du vill felsöka lokalt IIS måste du uppfylla följande krav:
Om den inte är installerad, installera installationspaketet för ASP.NET och webbutveckling. (Kör installationsprogrammet för Visual Studio igen, välj Ändraoch lägg till den här arbetsbelastningen.)
Kör Visual Studio som administratör.
Installera och konfigurera IIS korrekt med lämpliga versioner av ASP.NET och/eller ASP.NET Core. Mer information om hur du använder IIS med ASP.NET Core finns i Host ASP.NET Core i Windows med IIS. För att hitta information om ASP.NET, se Installera IIS- och ASP.NET-moduler.
Kontrollera att appen körs på IIS och öppnas i webbläsaren.
Felsöka ASP.NET Core-appar
En standardprofil med namnet https eller en som baseras på projektnamnet kan finnas, som är konfigurerad för Kestrel-webbservern. Om du istället felsöker på den lokala IIS, se till att du uppfyller de nödvändiga förutsättningarna för lokal IIS-felsökning.
Välj projektet ASP.NET Core i Visual Studio Solution Explorer och klicka på ikonen Egenskaper eller tryck på Alt+Retureller högerklicka och välj Egenskaper.
Välj fliken Felsökning och klicka på länken för att öppna Öppna startprofiler för felsökning.
Användargränssnittet som visas motsvarar inställningarna i projektets
launchSettings.json
-fil. Mer information om den här filen finns i avsnittet Utveckling ochlaunchSettings.json
i Använda flera miljöer i ASP.NET Core.Välj den profil som ska konfigureras för felsökning.
- För Kestrel väljer du https profil eller profilen med namnet efter projektet.
- För IIS Express väljer du IIS Express- i listrutan.
- För lokal IIS väljer du Ny och skapar en ny IIS-profil.
Kontrollera att Starta webbläsaren är markerat.
Kontrollera att URL, App URLoch App SSL URL är korrekta.
URL- anger platsen för värd-URL:en för .NET Core eller .NET 5+. För en profil med namnet efter projektet (d.v.s. egenskapen commandName i
launchSettings.json
är Project) lyssnar Kestrel-servern på den angivna porten. För en IIS-profil är detta vanligtvis samma värde som app-URL:en. Mer information finns i avsnittet om IIS-startprofil under Konfigurera projektet.App-URL:er och App SSL-URL:er anger applikationens URL:er.
- För en https-profil är egenskapen App URL vanligtvis
https://localhost:7241;http://localhost:5175
. - För en profil med namnet efter projektet är dessa egenskaper vanligtvis
http://localhost:5000
ochhttps://localhost:5001
. - För IIS Express är App SSL-URL:en vanligtvis
https://localhost:44334
.
- För en https-profil är egenskapen App URL vanligtvis
Under Miljövariablerkontrollerar du att ASPNETCORE_ENVIRONMENT finns med värdet Development. Om inte lägger du till variabeln.
Mer information om miljövariabler finns i Environments.
Om du vill felsöka appen i ditt projekt anger du brytpunkter för viss kod. Kontrollera att konfigurationen är inställd på Felsökai Visual Studio-verktygsfältet.
Börja felsöka genom att välja profilnamnet i verktygsfältet, till exempel https, IIS Expresseller <IIS-profilnamn> i verktygsfältet, välj Starta felsökning från menyn Felsök eller tryck på F5. Felsökningsprogrammet pausar vid brytpunkterna. Om debuggern inte kan nå brytpunkterna, se Lös problem med felsökning.
Felsöka ASP.NET Core-appar
IIS Express är standardvärdet och är förkonfigurerat. Om du felsöker med lokala IIS, säkerställ att du uppfyller -kraven för lokal IIS-felsökning.
Välj projektet ASP.NET Core i Visual Studio Solution Explorer och klicka på ikonen Egenskaper eller tryck på Alt+Retureller högerklicka och välj Egenskaper.
Välj fliken Felsökning.
I panelen Egenskaper, bredvid Profil,
- För IIS Express väljer du IIS Express- i listrutan.
- För lokal IIS väljer du appnamnet i listrutan eller väljer Nytt, skapar ett nytt profilnamn och väljer OK.
Bredvid Startaväljer du antingen IIS Express eller IIS- i listrutan.
Kontrollera att Starta webbläsaren är markerat.
Under Miljövariablerkontrollerar du att ASPNETCORE_ENVIRONMENT har värdet Development. Annars väljer du Lägg till och lägger till det.
Använd Fil>Spara markerade objekt eller Ctrl+S om du vill spara ändringar.
Om du vill felsöka appen i ditt projekt anger du brytpunkter för viss kod. I Visual Studio-verktygsfältet kontrollerar du att konfigurationen är inställd på Felsökaoch antingen IIS Expresseller det nya IIS-profilnamnet visas i emulatorfältet.
Om du vill börja felsöka väljer du IIS Express eller <IIS-profilnamn> i verktygsfältet, väljer Starta felsökning från menyn Felsökning eller trycker på F5. Felsökningsprogrammet pausar vid brytpunkterna. Om felsökaren inte kan nå brytpunkterna, se Felsökningsproblem.
Felsöka ASP.NET appar
IIS Express är standardvärdet och är förkonfigurerat. Om du felsöker lokalt IIS kontrollerar du att du uppfyller kraven för lokal IIS-felsökning.
Välj ASP.NET-projektet i Visual Studio Solution Explorer och klicka på ikonen Egenskaper eller tryck på Alt+Retureller högerklicka och välj Egenskaper.
Välj fliken Web.
Om du inte ser fliken Web kan du läsa Felsöka ASP.NET Core-appar. Fliken Webb visas bara för ASP.NET Framework.
I fönstret Egenskaper under Servrar,
- För Kestrel väljer du https i listrutan.
- För IIS Express väljer du IIS Express- i listrutan.
- För lokal IIS,
- Välj Lokalt IIS från listrutan.
- Bredvid fältet Projekt-URL väljer du Skapa virtuell katalog, om du ännu inte har konfigurerat appen i IIS.
Under Felsökningsprogramväljer du ASP.NET.
Välj Fil>Spara markerade objekt (eller tryck på Ctrl+S) om du vill spara ändringarna.
Om du vill felsöka appen i ditt projekt anger du brytpunkter för viss kod. I Visual Studio-verktygsfältet kontrollerar du att konfigurationen är inställd på Felsökaoch att webbläsaren som du vill ska visas i IIS Express (<Webbläsarnamn>) eller lokala IIS (<Webbläsarnamn>) i emulatorfältet.
Om du vill börja felsöka väljer du IIS Express (<Webbläsarnamn>) eller lokal IIS (<Webbläsarnamn>) i verktygsfältet, väljer Starta felsökning på menyn Felsök eller trycker på F5. Felsökningsprogrammet pausar vid brytpunkterna. Om felsökaren inte kan stanna vid brytpunkterna, se Felsökningsproblem.
Felsökning av debugging
Om lokal IIS-felsökning inte kan gå vidare till brytpunkten följer du de här stegen för att felsöka.
Starta webbappen från IIS och kontrollera att den körs korrekt. Låt webbappen vara igång.
I Visual Studio väljer du Felsök > Koppla till process eller trycker på Ctrl+Alt+Poch ansluter till ASP.NET- eller ASP.NET Core-processen (vanligtvis w3wp.exe eller dotnet.exe). Mer information finns i Koppla till process och Så här hittar du namnet på ASP.NET process.
Om du kan ansluta och nå brytpunkten med hjälp av Koppla till process, men inte genom att använda Debugga>Starta felsökning eller F5, är en inställning förmodligen felaktig i projektinställningarna. Om du använder en HOSTS-fil kontrollerar du att den också är korrekt konfigurerad.
Konfigurera felsökning i web.config-filen
ASP.NET projekt har web.config
filer som standard, som innehåller både appkonfiguration och startinformation, inklusive felsökningsinställningar. De web.config
filerna måste konfigureras korrekt för felsökning. Inställningarna för Egenskaper i föregående avsnitt uppdaterar web.config
filer, men du kan också konfigurera dem manuellt.
Not
ASP.NET Core-projekt har inte web.config
filer från början, utan använder appsettings.json
och launchSettings.json
filer för appkonfiguration och startinformation. När du distribuerar appen skapas en web.config
fil eller filer i projektet, men de innehåller vanligtvis inte felsökningsinformation.
Tips
Distributionsprocessen kan uppdatera inställningarna för web.config
, så innan du försöker felsöka kontrollerar du att web.config
har konfigurerats för felsökning.
Konfigurera en web.config
-fil manuellt för felsökning:
Öppna ASP.NET-projektets
web.config
-fil i Visual Studio.Web.config
är en XML-fil, så innehåller kapslade avsnitt markerade med taggar. Leta upp avsnittetconfiguration/system.web/compilation
. (Omcompilation
-elementet inte finns skapar du det.)Kontrollera att attributet
debug
i elementetcompilation
är inställt påtrue
. (Omcompilation
-elementet inte innehåller ettdebug
-attribut lägger du till det och ställer in det påtrue
.)Om du använder lokal IIS i stället för standard-IIS Express-servern kontrollerar du att attributet
targetFramework
icompilation
-elementet matchar ramverket på IIS-servern.Det
compilation
elementet iweb.config
-filen bör se ut som i följande exempel:Not
Det här exemplet är en partiell
web.config
fil. Det finns vanligtvis ytterligare XML-avsnitt i elementenconfiguration
ochsystem.web
, och elementetcompilation
kan också innehålla andra attribut och element.<configuration> ... <system.web> <compilation debug="true" targetFramework="4.6.1" ... > ... </compilation> </system.web> </configuration>
ASP.NET identifierar automatiskt ändringar i web.config
filer och tillämpar de nya konfigurationsinställningarna. Du behöver inte starta om datorn eller IIS-servern för att ändringarna ska börja gälla.
En webbplats kan innehålla flera virtuella kataloger och underkataloger, med web.config
filer i var och en. ASP.NET appar ärver konfigurationsinställningar från web.config
filer på högre nivåer i URL-sökvägen. De hierarkiska web.config
filinställningarna gäller för alla ASP.NET appar under dem i hierarkin. Om du anger en annan konfiguration i en web.config
fil längre ned i hierarkin åsidosätts inställningarna i den högre filen.
Om du till exempel anger debug="true"
i www.microsoft.com/aaa/web.configärver en app i mappen aaa
eller i någon undermapp i aaa
den inställningen, förutom om någon av dessa appar åsidosätter inställningen med sin egen web.config
fil.
Viktig
Felsökningsläget minskar avsevärt appens prestanda. När du distribuerar en produktionsapp eller utför prestandamätningar anger du debug="false"
i web.config
och anger en versionsversion.