Dela via


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.

  1. 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.

  2. 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 och launchSettings.json i Använda flera miljöer i ASP.NET Core.

  3. 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.
  4. Kontrollera att Starta webbläsaren är markerat.

  5. 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 och https://localhost:5001.
    • För IIS Express är App SSL-URL:en vanligtvis https://localhost:44334.
  6. Under Miljövariablerkontrollerar du att ASPNETCORE_ENVIRONMENT finns med värdet Development. Om inte lägger du till variabeln.

    ASP.NET Core-felsökningsinställningar

    Mer information om miljövariabler finns i Environments.

  7. 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.

  8. 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.

  1. 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.

  2. Välj fliken Felsökning.

  3. 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.
  4. Bredvid Startaväljer du antingen IIS Express eller IIS- i listrutan.

  5. Kontrollera att Starta webbläsaren är markerat.

  6. Under Miljövariablerkontrollerar du att ASPNETCORE_ENVIRONMENT har värdet Development. Annars väljer du Lägg till och lägger till det.

    ASP.NET Core-felsökningsinställningar

  7. Använd Fil>Spara markerade objekt eller Ctrl+S om du vill spara ändringar.

  8. 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.

  9. 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.

  1. 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.

  2. 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.

  3. 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,
      1. Välj Lokalt IIS från listrutan.
      2. Bredvid fältet Projekt-URL väljer du Skapa virtuell katalog, om du ännu inte har konfigurerat appen i IIS.
  4. Under Felsökningsprogramväljer du ASP.NET.

    Skärmbild som visar ASP.NET felsökningsinställningar.

  5. Välj Fil>Spara markerade objekt (eller tryck på Ctrl+S) om du vill spara ändringarna.

  6. 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.

  7. 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.

  1. Starta webbappen från IIS och kontrollera att den körs korrekt. Låt webbappen vara igång.

  2. 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:

  1. Öppna ASP.NET-projektets web.config-fil i Visual Studio.

  2. Web.config är en XML-fil, så innehåller kapslade avsnitt markerade med taggar. Leta upp avsnittet configuration/system.web/compilation. (Om compilation-elementet inte finns skapar du det.)

  3. Kontrollera att attributet debug i elementet compilation är inställt på true. (Om compilation-elementet inte innehåller ett debug-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 i compilation-elementet matchar ramverket på IIS-servern.

    Det compilation elementet i web.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 elementen configuration och system.web, och elementet compilation 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.