Dela via


Hämta publiceringsinställningar från IIS och importera till Visual Studio

Du kan använda verktyget Publicera för att importera publiceringsinställningar och sedan distribuera din app. I den här artikeln använder vi publiceringsinställningar för IIS.

De här stegen gäller för ASP.NET och ASP.NET Core-webbprogram.

Anteckning

En publiceringsinställningsfil (*.publishsettings) skiljer sig från en publiceringsprofil (*.pubxml). En fil för publiceringsinställningar skapas i IIS och kan sedan importeras till Visual Studio. Visual Studio skapar publiceringsprofilen.

Förutsättningar

  • Visual Studio installerat med ASP.NET- och webbutvecklingsarbetsbelastningen. Om du redan har installerat Visual Studio:

    • Installera de senaste uppdateringarna i Visual Studio genom att välja Hjälp>Sök efter uppdateringar.
    • Lägg till arbetsbelastningen genom att välja Verktyg>Hämta verktyg och funktioner.
  • På din server måste du köra Windows Server 2012 eller senare och du måste ha IIS-webbserverrollen korrekt installerad (nödvändigt för att generera filen för publiceringsinställningar.publishsettings). Antingen ASP.NET 4.5 eller ASP.NET Core måste också installeras på servern. Stegen i den här självstudien har testats i Windows Server 2022.

    Not

    IIS i Windows stöder inte generering av publiceringsinställningarna. Du kan dock fortfarande publicera till IIS med verktyget Publicera i Visual Studio.

Installera och konfigurera webbdistribution på Windows Server

Web Deploy innehåller ytterligare konfigurationsfunktioner som gör det möjligt att skapa filen med publiceringsinställningar från användargränssnittet.

Anteckning

Installationsprogrammet för webbplattformen nådde End-of-Life den 7/1/22. Mer information finns i Installationsprogram för webbplattform – Supporten upphör och produkt-/programflödetavslutas. Du kan installera Web Deploy 4.0 direkt för att skapa filen med publiceringsinställningar.

  1. Om du inte redan har installerat IIS-hanteringsskript och -verktyginstallerar du det nu.

    Gå till Välj serverroller>webbserver (IIS)>Hanteringsverktygoch välj sedan rollen IIS-hanteringsskript och -verktyg, klicka på Nästaoch installera sedan rollen.

    Installera IIS-hanteringsskript och -verktyg

    Skripten och verktygen krävs för att aktivera genereringen av filen med publiceringsinställningar.

    Se till att du även installerar Management Service och IIS-hanteringskonsolen (de kanske redan är installerade).

  2. På Windows Server ladda ned Web Deploy 4.0.

  3. Kör installationsprogrammet Web Deploy och se till att du väljer Slutför installation i stället för en typisk installation.

    Med en fullständig installation får du de komponenter som du behöver för att generera en fil för publiceringsinställningar. (Om du väljer Anpassad i stället kan du se listan med komponenter, som du ser i följande bild.)

    Skärmbild som visar Web Deploy 4.0-komponenter

  4. (Valfritt) Kontrollera att webbdistributionen körs korrekt genom att öppna Kontrollpanelen > System och säkerhet > Administrativa verktyg > Servicesoch kontrollera sedan att:

    • Web Deployment Agent Service körs (tjänstnamnet skiljer sig i äldre versioner).

    • Web Management Service körs.

    Om någon av agenttjänsterna inte körs startar du om Web Deployment Agent Service.

    Gå till Kontrollpanelen > Program > Avinstallera ett programoch hitta Microsoft Web Deploy <version>om webbdistributionsagenttjänsten inte finns alls. Välj att Ändra installationen och se till att du väljer Kommer att installeras på den lokala hårddisken för webdistributionskomponenterna. Slutför installationsstegen för ändringar.

Skapa filen med publiceringsinställningar i IIS på Windows Server

  1. Stäng och öppna IIS-hanteringskonsolen igen för att visa uppdaterade konfigurationsalternativ i användargränssnittet.

  2. Högerklicka i IIS på Standardwebbplats, välj Distribuera>Konfigurera webbdistributionspublicering.

    Konfigurera konfiguration av webbdistribution

    Om du inte ser menyn Deploy går du till föregående avsnitt för att kontrollera att Web Deploy körs.

  3. Granska inställningarna i dialogrutan Konfigurera Web Deploy Publicering.

  4. Klicka på konfigurera.

    I panelen Resultat visar utdata att åtkomsträttigheter beviljas den angivna användaren och att en fil med en .publishsettings filnamnstillägg har genererats på den plats som visas i dialogrutan.

    <?xml version="1.0" encoding="utf-8"?>
    <publishData>
      <publishProfile
        publishUrl="https://myhostname:8172/msdeploy.axd"
        msdeploySite="Default Web Site"
        destinationAppUrl="http://myhostname:80/"
        profileName="Default Settings"
        publishMethod="MSDeploy"
        userName="myhostname\myusername" />
    </publishData>
    

    Beroende på din Windows Server- och IIS-konfiguration ser du olika värden i XML-filen. Här följer några detaljer om de värden som du ser:

    • msdeploy.axd fil som refereras i attributet publishUrl är en dynamiskt genererad HTTP-hanteringsfil för webbdistribution. (I testsyfte fungerar http://myhostname:8172 vanligtvis också.)

    • Den publishUrl porten är inställd på port 8172, som är standard för Webbdistribution.

    • Den destinationAppUrl porten är inställd på port 80, vilket är standardvärdet för IIS.

    • Om du i senare steg inte kan ansluta till fjärrvärden från Visual Studio med hjälp av värdnamnet testar du serverns IP-adress i stället för värdnamnet.

      Note

      Om du publicerar till IIS som körs på en virtuell Azure-dator måste du öppna en inkommande port för Webbdistribution och IIS i gruppen Nätverkssäkerhet. Detaljerad information finns i Öppna portar till en virtuell dator.

  5. Kopiera den här filen till datorn där du kör Visual Studio.

Importera publiceringsinställningarna i Visual Studio och distribuera

  1. På datorn där du har ASP.NET projektet öppet i Visual Studio högerklickar du på projektet i Solution Explorer och väljer Publicera.

    Om du tidigare har konfigurerat publiceringsprofiler visas fönstret Publicera. Klicka på Ny eller Skapa ny profil.

  2. Välj alternativet för att importera en profil.

    I dialogrutan Publicera klickar du på Importera profil.

    Välj Publicera

  3. Gå till platsen för filen med publiceringsinställningar som du skapade i föregående avsnitt.

  4. I dialogrutan Importera publiceringsinställningar för fil navigerar du till och väljer den profil som du skapade i föregående avsnitt och klickar på Öppna.

    Klicka på Slutför för att spara publiceringsprofilen och klicka sedan på Publicera.

    Visual Studio påbörjar distributionsprocessen och fönstret Utdata visar förlopp och resultat.

    Om du får ett distributionsfel klickar du på Fler åtgärder>Redigera för att redigera inställningar. Ändra inställningarna och klicka på Verifiera för att testa nya inställningar. Om värdnamnet inte hittas kan du prova IP-adressen i stället för värdnamnet i fälten Server och mål-URL:en.

    Redigera inställningar i publiceringsverktyget

När appen har distribuerats bör den starta automatiskt.

Vanliga problem

Kontrollera först statusinformationen i fönstret Utdata i Visual Studio och sedan dina felmeddelanden. Ytterligare:

  • Om du inte kan ansluta till värden med värdnamnet kan du prova IP-adressen i stället.
  • Kontrollera att de portar som krävs är öppna på fjärrservern.
  • För ASP.NET Core måste du i IIS se till att fältet Programpool för DefaultAppPool är inställt på Ingen hanterad kod.
  • Kontrollera att versionen av ASP.NET som används i din app är samma som den version som du installerade på servern. För din app kan du visa och ange versionen på sidan Egenskaper. Om du vill ställa in appen på en annan version måste den versionen installeras.
  • Om appen försökte öppna, men du ser en certifikatvarning, väljer du att lita på webbplatsen. Om du redan har stängt varningen kan du redigera filen *.pubxml i projektet och lägga till följande element: <AllowUntrustedCertificate>true</AllowUntrustedCertificate>. Den här inställningen är endast avsedd för testning!
  • Om appen inte startar från Visual Studio startar du appen i IIS för att testa att den har distribuerats korrekt.