Distribuera din app till en mapp, IIS, Azure eller ett annat mål
Genom att distribuera ett program, en tjänst eller en komponent distribuerar du det för installation på andra datorer, enheter, servrar eller i molnet. Du väljer lämplig metod i Visual Studio för den typ av distribution som du behöver.
Få hjälp med distributionsuppgiften:
Vet du inte vilket distributionsalternativ du ska välja? Se Vilka publiceringsalternativ är rätt för mig?
Hjälp med distributionsproblem för Azure App Service eller IIS finns i Felsöka ASP.NET Core i Azure App Service och IIS-.
Mer information om hur du konfigurerar .NET-distributionsinställningar finns i Konfigurera .NET-distributionsinställningar.
Om du tidigare har skapat en publiceringsprofil för att distribuera till ett nytt mål väljer du Ny från skärmen Publicera för den tidigare konfigurerade profilen. Verktyget Publicera visas.
Välj sedan ett distributionsalternativ i verktyget Publicera. Information om dina publiceringsalternativ finns i följande avsnitt.
Vilka publiceringsalternativ är rätt för mig?
Från Visual Studio kan program publiceras direkt till följande mål:
Ovanstående alternativ visas som i följande bild när du skapar en ny publiceringsprofil.
En snabb genomgång av mer allmänna distributionsalternativ för program finns i Titta först på distributionen.
Blått
När du väljer Azure kan du välja mellan:
- Azure App Service- körs i Windows, Linux eller som en Docker-avbildning
- En Docker-avbildning som distribuerats till Azure Container Registry
- En Azure-virtuell maskin
Azure Container Apps
Azure Container Apps hjälper utvecklare att skapa och hantera webbprogram och tjänster i containrar.
Du kan distribuera en containerbaserad app till Azure App Service, men Azure Container Apps är optimerat för att använda resurser mer effektivt för containerbaserade appar, så det finns kostnadsbesparingar och andra fördelar med att använda Azure Container Apps.
När du ska välja Azure Container Apps
- Dina appar och tjänster körs i en container eller flera containrar
- Du behöver hög tillgänglighet och flexibel skalning
- Din app passar bra för ett mikrotjänsters arkitekturmönster, där funktioner delas upp i enuppgiftstjänster som är modulära och vanligtvis implementeras som Azure Functions. Till exempel uppsättningar med enaktivitetstjänster som körs som diskreta jobb, svarar på händelser eller som bearbetar begäranden från köer eller utlösare.
- Du vill ha fördelarna med containerorkestrering (Kubernetes), men vill inte hantera Kubernetes direkt. (Om du vill ha djup kontroll över Kubernetes-infrastrukturen som stöder dina containerbaserade tjänster bör du överväga att använda Azure Kubernetes Service (AKS).
Azure App Service
Azure App Service hjälper utvecklare att snabbt skapa skalbara webbprogram och tjänster utan att underhålla infrastrukturen. En App Service körs på molnbaserade virtuella datorer i Azure, men de virtuella datorerna hanteras åt dig. Varje app i en App Service tilldelas en unik *.azurewebsites.net URL. Alla prisnivåer som inte är kostnadsfria tillåter tilldelning av anpassade domännamn till webbplatsen.
Du avgör hur mycket databehandlingskraft en App Service har genom att välja en prisnivå eller planera för den innehållande App Service. Du kan ha flera webbappar (och andra apptyper) som delar samma App Service utan att ändra prisnivån. Du kan till exempel vara värd för utveckling, mellanlagring och produktion av webbappar tillsammans i samma App Service.
När du ska välja Azure App Service
- Du vill distribuera ett webbprogram som är tillgängligt via Internet.
- Du vill automatiskt skala ditt webbprogram efter behov utan att behöva distribuera om.
- Du vill inte underhålla serverinfrastrukturen (inklusive programuppdateringar).
- Du behöver inga anpassningar på datornivå på de servrar som är värdar för ditt webbprogram.
Om du vill använda Azure App Service i ditt eget datacenter eller på andra lokala datorer kan du göra det med hjälp av Azure Stack-.
Mer information om hur du publicerar till App Service finns i:
- snabbstart – Publicera till Azure App Service
- snabbstart – Publicera ASP.NET Core till Linux.
- Publicera en ASP.NET Core-app till Azure App Service
- Felsöka ASP.NET Core i Azure App Service och IIS.
Azure WebJobs
Azure WebJobs stöds via App Service. Se Utveckla och distribuera webbjobb med Visual Studio.
När du ska välja Azure WebJobs
- Du har en arbetsprocess, en beräkning som kan köras utan användarinteraktion.
- Jobbet är på begäran, utlöses av en händelse eller kontinuerligt.
- Jobbet körs på Windows eller .NET Core i Linux (med Visual Studio 17.12 eller senare).
Ett annat alternativ för liknande scenarier är Azure Functions. Om du vill välja rätt alternativ kan du läsa Välj rätt integrerings- och automatiseringstjänster i Azure.
Azure Container Registry
Azure Container Registry- kan du skapa, lagra och hantera Docker-containeravbildningar och artefakter i ett privat register för alla typer av containerdistributioner.
När du ska välja Azure Container Registry
- När du har en befintlig Utvecklings- och distributionspipeline för Docker-containrar.
- När du vill skapa Docker-containeravbildningar i Azure.
Mer information finns i:
Virtuell Azure-dator
Azure Virtual Machines (VMs) låter dig skapa och hantera vilket antal som helst av beräkningsresurser i molnet. Genom att ta ansvar för alla program och uppdateringar på de virtuella datorerna kan du anpassa dem så mycket som krävs av ditt program. Du kan komma åt de virtuella datorerna direkt via Fjärrskrivbord, och var och en behåller sin tilldelade IP-adress så länge som du vill.
Att skala ett program som finns på virtuella datorer innebär att skapa ytterligare virtuella datorer efter behov och sedan distribuera nödvändig programvara. Med den här ytterligare kontrollnivån kan du skala olika i olika globala regioner. Om ditt program till exempel betjänar anställda på en mängd olika regionala kontor kan du skala dina virtuella datorer enligt antalet anställda i dessa regioner, vilket kan minska kostnaderna.
Mer information finns i detaljerad jämförelse mellan Azure App Service, Azure Virtual Machines och andra Azure-tjänster som du kan använda som distributionsmål med hjälp av alternativet Anpassad i Visual Studio.
När du ska välja Virtuella Azure-datorer
- Du vill distribuera ett webbprogram som är tillgängligt via Internet, med fullständig kontroll över livslängden för tilldelade IP-adresser.
- Du behöver anpassningar på datornivå på dina servrar, som omfattar ytterligare programvara, till exempel ett specialiserat databassystem, specifika nätverkskonfigurationer, diskpartitioner och så vidare.
- Du vill ha en bra kontroll över skalning av webbappen.
- Du behöver direkt åtkomst till servrarna som är värdar för ditt program av någon annan anledning.
Om du vill använda Azure Virtual Machines i ditt eget datacenter eller andra lokala datorer kan du göra det med hjälp av Azure Stack-.
Docker-containerregister
Om ditt program använder Docker kan du publicera ditt containerbaserade program till ett Docker-containerregister.
När du ska välja Docker Container Registry
- Du vill distribuera ett containerbaserat program
Mer information finns i följande:
DevTest Labs
Använd distributionsalternativet Mapp i verktyget Publicera om du vill distribuera till Azure DevTest Labs.
Fullständiga steg finns i Publicera app för testning på en virtuell Azure DevTest Labs-dator. I den länkade artikeln gäller mappens publiceringssteg för .NET Core/.NET 5+. Resten av instruktionerna gäller för både .NET och .NET Framework. För .NET Framework ClickOnce-appar kan du använda Publiceringsguiden för att publicera till en mapp.
Mapp
Att distribuera till filsystemet innebär att kopiera programmets filer till en specifik mapp på din egen dator. Distribution till en mapp används oftast för testning eller för att distribuera programmet för användning av ett begränsat antal personer om datorn också kör en server. Om målmappen delas i ett nätverk kan distribution till filsystemet göra webbprogramfilerna tillgängliga för andra som sedan kan distribuera dem till specifika servrar.
Från och med Visual Studio 2019 16.8 innehåller mappmålet möjligheten att publicera ett .NET Windows-program med hjälp av ClickOnce.
Om du vill publicera ett .NET Windows-skrivbordsprojekt (.NET Core 3.1, .NET 5 och senare) med ClickOnce läser du Distribuera ett .NET Windows-program med ClickOnce.
Alla lokala datorer som kör en server kan göra ditt program tillgängligt via Internet eller ett intranät beroende på hur det är konfigurerat och de nätverk som det är anslutet till. (Om du ansluter en dator direkt till Internet bör du vara särskilt noga med att skydda den mot externa säkerhetshot.) Eftersom du hanterar dessa datorer har du fullständig kontroll över programvaru- och maskinvarukonfigurationerna.
Om du av någon anledning (till exempel datoråtkomst) inte kan använda molntjänster som Azure App Service eller Azure Virtual Machines kan du använda Azure Stack- i ditt eget datacenter. Med Azure Stack kan du hantera och använda databehandlingsresurser via Azure App Service och Azure Virtual Machines samtidigt som du behåller allt lokalt.
När du ska välja filsystemsdistribution
Du behöver bara distribuera programmet till en filresurs som andra distribuerar det från till olika servrar.
Du vill distribuera ett .NET Windows-program med ClickOnce
Du behöver bara en lokal testimplementering.
Du vill undersöka och eventuellt ändra programfilerna oberoende av varandra innan du skickar dem till ett annat distributionsmål.
Mer information finns i Snabbstart – Distribuera till en lokal mapp.
Mer information om hur du distribuerar ett .NET Windows-program med ClickOnce finns i Distribuera ett .NET Windows-program med Hjälp av ClickOnce.
Mer hjälp med att välja dina inställningar finns i följande:
- Framework-beroende eller fristående distribution
- Målkörningsidentifierare (portabel RID, m.fl.)
- felsöknings- och versionskonfigurationer
FTP/FTPS-server
Med en FTP/FTPS-server kan du distribuera programmet till en annan server än Azure. Den kan distribueras till ett filsystem eller någon annan server (Internet eller intranät) som du har åtkomst till, inklusive dem på andra molntjänster. Det kan fungera med webbdistribution (filer eller .ZIP) och FTP.
När du väljer en FTP/FTPS-server uppmanar Visual Studio dig att ange ett profilnamn och samlar sedan in ytterligare Anslutning information, inklusive målservern eller platsen, ett platsnamn och autentiseringsuppgifter. Du kan styra följande beteenden på fliken Inställningar:
- Den konfiguration som du vill distribuera.
- Om du vill ta bort befintliga filer från målet.
- Om du vill förkompilera under publiceringen.
- Om du vill exkludera filer i mappen App_Data från distributionen.
Du kan skapa valfritt antal FTP/FTPS-distributionsprofiler i Visual Studio, vilket gör det möjligt att hantera profiler med olika inställningar.
När du ska välja FTP/FTPS-serverdistribution
- Du använder molntjänster på en annan leverantör än Azure som kan nås via URL:er.
- Du vill distribuera med andra autentiseringsuppgifter än de som du använder i Visual Studio eller de som är direkt kopplade till dina Azure-konton.
- Du vill ta bort filer från målet varje gång du distribuerar.
Webbserver (IIS)
Med en IIS-webbserver kan du distribuera ditt program till en annan webbserver än Azure. Den kan distribueras till en IIS-server (Internet eller intranät) som du har åtkomst till, inklusive dem i andra molntjänster. Det kan fungera med webbdistribution eller ett webbdistributionspaket.
När du väljer en IIS-webbserver uppmanar Visual Studio dig att ange ett profilnamn och samlar sedan in ytterligare Anslutning information, inklusive målservern eller platsen, ett webbplatsnamn och autentiseringsuppgifter. Du kan styra följande beteenden på fliken Inställningar:
- Den konfiguration som du vill distribuera.
- Om du vill ta bort befintliga filer från målet.
- Om du vill förkompilera under publiceringen.
- Om du vill exkludera filer i mappen App_Data från distributionen.
Du kan skapa valfritt antal IIS-webbserverdistributionsprofiler i Visual Studio, vilket gör det möjligt att hantera profiler med olika inställningar.
När du ska välja distribution av webbserver (IIS)
- Du använder IIS för att publicera en webbplats eller tjänst som kan nås via URL:er.
- Du vill distribuera med andra autentiseringsuppgifter än de som du använder i Visual Studio eller de som är direkt kopplade till dina Azure-konton.
- Du vill ta bort filer från målet varje gång du distribuerar.
Mer information finns i Snabbstart – Distribuera till en webbplats.
Hjälp med felsökning av ASP.NET Core i IIS finns i Felsöka ASP.NET Core i Azure App Service och IIS-.
Importera profil
Du kan importera en profil när du publicerar till IIS eller Azure App Service. Du kan konfigurera distributionen med hjälp av en inställningsfil för publicering (*.publishsettings). En fil för publiceringsinställningar skapas av IIS eller Azure App Service, eller så kan den skapas manuellt och sedan kan den importeras till Visual Studio.
Användning av en fil för publiceringsinställningar kan förenkla distributionskonfigurationen och fungerar bättre i en gruppmiljö jämfört med att konfigurera varje distributionsprofil manuellt.
När du ska välja importprofil
- Du publicerar till IIS och vill förenkla distributionskonfigurationen.
- Du publicerar till IIS eller Azure App Service och vill påskynda distributionskonfigurationen för återanvändning eller för gruppmedlemmar som publicerar till samma tjänst.
Mer information finns i följande:
- Importera publiceringsinställningar och distribuera till IIS-
- Importera publiceringsinställningar och distribuera till Azure
Konfigurera .NET-distributionsinställningar
Mer hjälp med att välja dina inställningar finns i följande:
- Framework-beroende eller fristående distribution
- Identifierare för målmiljö (portabel RID, et al)
- felsöknings- och versionskonfigurationer
Nästa steg
Handledningar: