Stöd för IIS under utveckling i Visual Studio för ASP.NET Core

Anmärkning

Det här är inte den senaste versionen av den här artikeln. Den aktuella versionen finns i .NET 10-versionen av den här artikeln.

Varning

Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i supportpolicyn för .NET och .NET Core. För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .

Av Sourabh Shirhatti

I den här artikeln beskrivs Visual Studio-stöd för felsökning av ASP.NET Core-appar som körs med IIS på Windows Server. Det här avsnittet beskriver hur du aktiverar det här scenariot och konfigurerar ett projekt.

Förutsättningar

  • Visual Studio för Windows
  • Arbetsbelastning för ASP.NET och webbutveckling
  • .NET Core plattformsoberoende utvecklingsarbetsbelastning
  • X.509-säkerhetscertifikat (för HTTPS-stöd)

Aktivera IIS

  1. I Windows navigerar du till Programoch funktioner> på Kontrollpanelen>>Aktivera eller inaktivera Windows-funktioner (till vänster på skärmen).
  2. Markera kryssrutan Internet Information Services . Välj OK.

IIS-installationen kan kräva en omstart av systemet.

Konfigurera IIS

IIS måste ha en webbplats konfigurerad med följande:

  • Värdnamn: Standardwebbplatsen används vanligtvis med värdnamnlocalhost. Men alla giltiga IIS-webbplatser med ett unikt värdnamn fungerar.
  • Webbplatsbindning
    • För appar som kräver HTTPS skapar du en bindning till port 443 med ett certifikat. Vanligtvis används IIS Express Development Certificate , men alla giltiga certifikat fungerar.
    • För appar som använder HTTP bekräftar du att det finns en bindning till port 80 eller skapar en bindning till port 80 för en ny webbplats.
    • Använd en enda bindning för HTTP eller HTTPS. Bindning till både HTTP- och HTTPS-portar samtidigt stöds inte.

Aktivera IIS-stöd för utvecklingstid i Visual Studio

  1. Starta Installationsprogrammet för Visual Studio.

  2. Välj Ändra för Visual Studio-installationen som du planerar att använda för IIS-stöd för utvecklingstid.

  3. För arbetsbelastningen ASP.NET och webbutveckling letar du upp och installerar IIS-supportkomponenten för utvecklingstid .

    Komponenten visas i avsnittet Valfritt under IIS-stöd för utvecklingstid i panelen Installationsinformation till höger om arbetsbelastningarna. Komponenten installerar ASP.NET Core Module, som är en intern IIS-modul som krävs för att köra ASP.NET Core-appar med IIS.

Konfigurera projektet

HTTPS-omdirigering

För ett nytt projekt som kräver HTTPS markerar du kryssrutan för att konfigurera för HTTPS i fönstret Skapa ett nytt ASP.NET Core-webbprogram . Om du markerar kryssrutan läggs HTTPS-omdirigering och HSTS Middleware till i appen när den skapas.

För ett befintligt projekt som kräver HTTPS använder du HTTPS Redirection och HSTS Middleware i Startup.Configure. Mer information finns i Framtvinga HTTPS i ASP.NET Core.

För ett projekt som använder HTTP läggs HTTPS-omdirigering och HSTS Middleware inte till i appen. Ingen appkonfiguration krävs.

IIS-startprofil

Skapa en ny startprofil för att lägga till IIS-stöd för utvecklingstid:

  1. Högerklicka på projektet i Solution Explorer. Välj Egenskaper. Öppna fliken Felsök .

  2. För Profil väljer du knappen Nytt . Ge profilen namnet "IIS" i popup-fönstret. Välj OK för att skapa profilen.

  3. För inställningen Starta väljer du IIS i listan.

  4. Markera kryssrutan för Starta webbläsare och ange slutpunkts-URL:en.

    När appen kräver HTTPS använder du en HTTPS-slutpunkt (https://). För HTTP använder du en HTTP-slutpunkt (http://).

    Ange samma värdnamn och port som den tidigare angivna IIS-konfigurationen använder, vanligtvis .

    Ange namnet på appen i slutet av URL:en.

    Till exempel https://localhost/WebApplication1 är (HTTPS) eller http://localhost/WebApplication1 (HTTP) giltiga slutpunkts-URL:er.

  5. I avsnittet Miljövariabler väljer du knappen Lägg till . Ange en miljövariabel med namnetASPNETCORE_ENVIRONMENT och värdetDevelopment.

  6. I området Webbserverinställningar anger du app-URL:en till samma värde som används för URL:en för startwebbpunktens slutpunkt.

  7. För inställningen Värdmodell i Visual Studio 2019 eller senare väljer du Standard för att använda den värdmodell som används av projektet. Om projektet anger <AspNetCoreHostingModel> egenskapen i sin projektfil används värdet för egenskapen (InProcess eller OutOfProcess). Om egenskapen inte finns används standardvärdmodellen för appen, som håller på att bearbetas. Om appen kräver en explicit värdmodellinställning som skiljer sig från appens normala värdmodell anger du värdmodellen till antingen In Process eller Out Of Process efter behov.

  8. Spara profilen.

När du inte använder Visual Studio lägger du manuellt till en startprofil i filenlaunchSettings.json i mappen Egenskaper . I följande exempel konfigureras profilen så att den använder HTTPS-protokollet:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "https://localhost/WebApplication1",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS": {
      "commandName": "IIS",
      "launchBrowser": true,
      "launchUrl": "https://localhost/WebApplication1",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Bekräfta att slutpunkterna applicationUrl och launchUrl matchar och använder samma protokoll som IIS-bindningskonfigurationen, antingen HTTP eller HTTPS.

Kör projektet

Kör Visual Studio som administratör:

  • Bekräfta att listrutan för byggkonfiguration är inställd på Felsök.
  • Ange knappen Starta felsökning till IIS-profilen och välj knappen för att starta appen.

Visual Studio kan uppmana till en omstart om den inte körs som administratör. Starta om Visual Studio om du uppmanas att göra det.

Om ett ej betrott utvecklingscertifikat används kan webbläsaren kräva att du skapar ett undantag för det ej betrodda certifikatet.

Anmärkning

Felsökning av en Release-byggkonfiguration med Just My Code och optimeringar av kompilator resulterar i en försämrad användarupplevelse. Brytpunkter drabbas till exempel inte.

Ytterligare resurser

I den här artikeln beskrivs Visual Studio-stöd för felsökning av ASP.NET Core-appar som körs med IIS på Windows Server. Det här avsnittet beskriver hur du aktiverar det här scenariot och konfigurerar ett projekt.

Förutsättningar

  • Visual Studio för Windows
  • Arbetsbelastning för ASP.NET och webbutveckling
  • .NET Core plattformsoberoende utvecklingsarbetsbelastning
  • X.509-säkerhetscertifikat (för HTTPS-stöd)

Aktivera IIS

  1. I Windows navigerar du till Programoch funktioner> på Kontrollpanelen>>Aktivera eller inaktivera Windows-funktioner (till vänster på skärmen).
  2. Markera kryssrutan Internet Information Services . Välj OK.

IIS-installationen kan kräva en omstart av systemet.

Konfigurera IIS

IIS måste ha en webbplats konfigurerad med följande:

  • Värdnamn: Standardwebbplatsen används vanligtvis med värdnamnlocalhost. Men alla giltiga IIS-webbplatser med ett unikt värdnamn fungerar.
  • Webbplatsbindning
    • För appar som kräver HTTPS skapar du en bindning till port 443 med ett certifikat. Vanligtvis används IIS Express Development Certificate , men alla giltiga certifikat fungerar.
    • För appar som använder HTTP, bekräfta att det finns en bindning till port 80 eller skapa en bindning till port 80 för en ny webbplats.
    • Använd en enda bindning för HTTP eller HTTPS. Bindning till både HTTP- och HTTPS-portar samtidigt stöds inte.

Aktivera IIS-stöd för utvecklingstid i Visual Studio

  1. Starta Installationsprogrammet för Visual Studio.

  2. Välj Ändra för Visual Studio-installationen som du planerar att använda för IIS-stöd för utvecklingstid.

  3. För arbetsbelastningen ASP.NET och webbutveckling letar du upp och installerar IIS-supportkomponenten för utvecklingstid .

    Komponenten visas i avsnittet Valfritt under IIS-stöd för utvecklingstid i panelen Installationsinformation till höger om arbetsbelastningarna. Komponenten installerar ASP.NET Core Module, som är en intern IIS-modul som krävs för att köra ASP.NET Core-appar med IIS.

Konfigurera projektet

HTTPS-omdirigering

För ett nytt projekt som kräver HTTPS markerar du kryssrutan för att konfigurera för HTTPS i fönstret Skapa ett nytt ASP.NET Core-webbprogram . Om du markerar kryssrutan läggs HTTPS-omdirigering och HSTS Middleware till i appen när den skapas.

För ett befintligt projekt som kräver HTTPS använder du HTTPS Redirection och HSTS Middleware i Startup.Configure. Mer information finns i Framtvinga HTTPS i ASP.NET Core.

För ett projekt som använder HTTP läggs HTTPS-omdirigering och HSTS Middleware inte till i appen. Ingen appkonfiguration krävs.

IIS-startprofil

Skapa en ny startprofil för att lägga till IIS-stöd för utvecklingstid:

  1. Högerklicka på projektet i Solution Explorer. Välj Egenskaper. Öppna fliken Felsök .

  2. För Profil väljer du knappen Nytt . Ge profilen namnet "IIS" i popup-fönstret. Välj OK för att skapa profilen.

  3. För inställningen Starta väljer du IIS i listan.

  4. Markera kryssrutan för Starta webbläsare och ange slutpunkts-URL:en.

    När appen kräver HTTPS använder du en HTTPS-slutpunkt (https://). För HTTP använder du en HTTP-slutpunkt (http://).

    Ange samma värdnamn och port som den tidigare angivna IIS-konfigurationen använder, vanligtvis .

    Ange namnet på appen i slutet av URL:en.

    Till exempel https://localhost/WebApplication1 är (HTTPS) eller http://localhost/WebApplication1 (HTTP) giltiga slutpunkts-URL:er.

  5. I avsnittet Miljövariabler väljer du knappen Lägg till . Ange en miljövariabel med namnetASPNETCORE_ENVIRONMENT och värdetDevelopment.

  6. I området Webbserverinställningar anger du app-URL:en till samma värde som används för URL:en för startwebbpunktens slutpunkt.

  7. För inställningen Värdmodell i Visual Studio 2019 eller senare väljer du Standard för att använda den värdmodell som används av projektet. Om projektet anger <AspNetCoreHostingModel> egenskapen i sin projektfil används värdet för egenskapen (InProcess eller OutOfProcess). Om egenskapen inte finns används standardvärdmodellen för appen, vilket är utanför processen. Om appen kräver en explicit värdmodellinställning som skiljer sig från appens normala värdmodell anger du värdmodellen till antingen In Process eller Out Of Process efter behov.

  8. Spara profilen.

När du inte använder Visual Studio lägger du manuellt till en startprofil i filenlaunchSettings.json i mappen Egenskaper . I följande exempel konfigureras profilen så att den använder HTTPS-protokollet:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "https://localhost/WebApplication1",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS": {
      "commandName": "IIS",
      "launchBrowser": true,
      "launchUrl": "https://localhost/WebApplication1",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Bekräfta att slutpunkterna applicationUrl och launchUrl matchar och använder samma protokoll som IIS-bindningskonfigurationen, antingen HTTP eller HTTPS.

Kör projektet

Kör Visual Studio som administratör:

  • Bekräfta att listrutan för byggkonfiguration är inställd på Felsök.
  • Ange knappen Starta felsökning till IIS-profilen och välj knappen för att starta appen.

Visual Studio kan uppmana till en omstart om den inte körs som administratör. Starta om Visual Studio om du uppmanas att göra det.

Om ett ej betrott utvecklingscertifikat används kan webbläsaren kräva att du skapar ett undantag för det ej betrodda certifikatet.

Anmärkning

Felsökning av en Release-byggkonfiguration med Just My Code och optimeringar av kompilator resulterar i en försämrad användarupplevelse. Brytpunkter drabbas till exempel inte.

Ytterligare resurser