Distribuire l'app in una cartella, IIS, Azure o in un'altra destinazione
Mediante la distribuzione, un'applicazione, un servizio o un componente viene distribuito per l'installazione in altri computer, dispositivi, server o nel cloud. Il metodo appropriato viene scelto in Visual Studio per il tipo di distribuzione necessaria.
Ottenere assistenza per l'attività di distribuzione:
- Non si è certi dell'opzione di distribuzione da scegliere? Vedere Quali opzioni di pubblicazione sono appropriate per me?
- Per informazioni sui problemi di distribuzione per app Azure Service o IIS, vedere Risolvere i problemi relativi a ASP.NET Core nel servizio app Azure e IIS.
- Per informazioni sulla configurazione delle impostazioni di distribuzione .NET, vedere Configurare le impostazioni di distribuzione .NET.
Per eseguire la distribuzione in una nuova destinazione, se in precedenza è stato creato un profilo di pubblicazione, selezionare Nuovo nella finestra Pubblica per un profilo configurato.
Scegliere quindi un'opzione di distribuzione nello strumento Pubblica. Per informazioni sulle opzioni di pubblicazione, vedere le sezioni seguenti.
Per eseguire la distribuzione in una nuova destinazione, se in precedenza è stato creato un profilo di pubblicazione, selezionare Pubblica selezione dal menu Compila per un profilo configurato.
Scegliere quindi un'opzione di distribuzione nello strumento Pubblica. Per informazioni sulle opzioni di pubblicazione, vedere le sezioni seguenti.
Quali sono le opzioni di pubblicazione più adatte?
Dall'interno di Visual Studio è possibile pubblicare le applicazioni direttamente nelle destinazioni seguenti:
- Azure
- Registro Contenitori Docker
- DevTest Labs
- Cartella
- Server FTP/FTPS
- Server Web (IIS)
- Importa profilo
Le opzioni precedenti vengono visualizzate come illustrato nella figura seguente quando si crea un nuovo profilo di pubblicazione.
Per una breve panoramica delle opzioni di distribuzione delle applicazioni più generali, vedere Prima di tutto la distribuzione.
Azure
Quando si sceglie Azure, è possibile scegliere tra:
- app Azure Servizio in esecuzione in Windows, Linux o come immagine Docker
- Immagine Docker distribuita in Registro Azure Container
- Una macchina virtuale di Azure
Servizio app di Azure
app Azure Servizio consente agli sviluppatori di creare rapidamente applicazioni Web e servizi scalabili senza gestire l'infrastruttura. Un servizio app viene eseguito nelle macchine virtuali ospitate nel cloud di Azure, ma tali macchine vengono gestite automaticamente. A ogni app in un servizio app verrà assegnato un URL *.azurewebsites.net univoco. Tutti i piani tariffari diversi da Gratuito consentono di assegnare nomi di dominio personalizzati al sito.
Per determinare la potenza di calcolo di un servizio app, scegliere un piano tariffario per il servizio app che lo contiene. È possibile fare in modo che più app Web (e altri tipi di app) condividano lo stesso servizio app senza modificare il piano tariffario. È ad esempio possibile ospitare insieme app Web di sviluppo, gestione temporanea e produzione nello stesso servizio app.
Quando scegliere Servizio App di Azure
- Si vuole distribuire un'applicazione Web accessibile via Internet.
- Si vuole adeguare automaticamente l'applicazione Web in base alla richiesta senza doverla ridistribuire.
- Non si vuole gestire l'infrastruttura di server, inclusi gli aggiornamenti software.
- Non sono necessarie personalizzazioni a livello di computer sui server che ospitano l'applicazione Web.
Per usare Servizio app di Azure nel proprio centro dati o in altri computer locali, usare Azure Stack.
Per altre informazioni sulla pubblicazione in servizio app, vedere:
- Guida introduttiva - Pubblicare nel servizio app Azure
- Guida introduttiva: Pubblicare ASP.NET Core in Linux.
- Pubblicare un'app ASP.NET Core nel servizio app Azure
- Risolvere i problemi di ASP.NET Core nel servizio app Azure e IIS.
Registro Azure Container
Registro Azure Container consente di compilare, archiviare e gestire immagini e artefatti del contenitore Docker in un registro privato per tutti i tipi di distribuzioni di contenitori.
Quando scegliere Registro Azure Container
- Quando si dispone di una pipeline di sviluppo e distribuzione di contenitori Docker esistente.
- Quando si vogliono compilare immagini del contenitore Docker in Azure.
Per altre informazioni:
Macchina virtuale di Azure
Azure Macchine virtuali (VM) consente di creare e gestire un numero qualsiasi di risorse di calcolo nel cloud. Assumendosi la responsabilità per tutto il software e tutti gli aggiornamenti nelle macchine virtuali, è possibile personalizzare queste ultime in base alle esigenze dell'applicazione. È possibile accedere alle macchine virtuali direttamente con Desktop remoto e ognuna di esse manterrà l'indirizzo IP assegnato finché lo si ritiene opportuno.
Il ridimensionamento di un'applicazione ospitata in macchine virtuali comporta l'attivazione di altre macchine virtuali in base alla richiesta e quindi la distribuzione del software necessario. Questo livello di controllo aggiuntivo consente di ridimensionare le macchine in modo diverso nelle diverse aree geografiche globali. Se ad esempio l'applicazione viene usata da dipendenti dislocati in varie sedi regionali, è possibile ridimensionare le macchine virtuali in base al numero di dipendenti di quelle sedi, potenzialmente riducendo i costi.
Per altre informazioni, vedere il confronto dettagliato tra app Azure Servizio, Azure Macchine virtuali e altri servizi di Azure che è possibile usare come destinazione di distribuzione usando l'opzione Personalizzata in Visual Studio.
Quando scegliere Azure Macchine virtuali
- Si vuole distribuire un'applicazione Web accessibile via Internet, con controllo completo della durata degli indirizzi IP assegnati.
- Sono necessarie personalizzazioni a livello di computer nei server, che includono software aggiuntivo, ad esempio un sistema di database specializzato, configurazioni di rete specifiche, partizioni del disco e così via.
- Si vuole garantire un elevato livello di controllo sul ridimensionamento dell'applicazione Web.
- È necessario l'accesso diretto ai server che ospitano l'applicazione per qualsiasi altro motivo.
Per usare le macchine virtuali di Azure nel proprio centro dati o in altri computer locali, usare Azure Stack.
Registro contenitori di Docker
Se l'applicazione usa Docker, è possibile pubblicare l'applicazione in contenitori in un registro contenitori Docker.
Quando scegliere Registro Contenitori Docker
- Si vuole distribuire un'applicazione in contenitori
Per altre informazioni, vedere gli argomenti seguenti:
- Distribuire un contenitore ASP.NET in un registro contenitori
- Eseguire la distribuzione nell'hub Docker
DevTest Labs
Usare l'opzione Distribuzione cartelle nello strumento Pubblica se si vuole eseguire la distribuzione in Azure DevTest Labs.
Per la procedura completa, vedere Pubblicare l'app per i test in una macchina virtuale di Azure DevTest Labs. Nell'articolo collegato la procedura di pubblicazione della cartella si applica a .NET Core/.NET 5+. Le altre istruzioni si applicano sia a .NET che a .NET Framework. Per le app ClickOnce di .NET Framework, è possibile usare la Pubblicazione guidata per pubblicare in una cartella.
Folder
La distribuzione nel file system significa copiare i file dell'applicazione in una cartella specifica nel proprio computer. La distribuzione in una cartella viene spesso usata a scopo di test o per distribuire l'applicazione per l'uso da parte di un numero limitato di persone se il computer esegue anche un server. Se la cartella di destinazione è condivisa in rete, la distribuzione nel file system può rendere disponibili i file dell'applicazione Web per altri utenti che possono distribuirli a loro volta a server specifici.
A partire da Visual Studio 2019 16.8, la destinazione della cartella include la possibilità di pubblicare un'applicazione Windows .NET usando ClickOnce.
Per pubblicare un progetto desktop Windows .NET (.NET Core 3.1, .NET 5 e versioni successive) con ClickOnce, vedere Distribuire un'applicazione Windows .NET con ClickOnce.
Qualsiasi computer locale che esegue un server è in grado di rendere l'applicazione disponibile su Internet o Intranet, in base al tipo di configurazione e alle reti a cui è connesso. Se si connette un computer direttamente a Internet, prestare particolare attenzione a proteggerlo dalle minacce alla sicurezza esterna. Poiché si gestiscono questi computer, si è in controllo completo delle configurazioni software e hardware.
Se per qualsiasi motivo, ad esempio l'accesso al computer, non è possibile usare servizi cloud come app Azure Servizio o Azure Macchine virtuali, è possibile usare Azure Stack nel proprio data center. Azure Stack consente di gestire e usare le risorse di elaborazione con Servizio app di Azure e Macchine virtuali di Azure, mantenendo tutti gli elementi in locale.
Quando scegliere la distribuzione nel file system
È necessario distribuire l'applicazione solo in una condivisione di file da cui altri utenti effettueranno a loro volta la distribuzione a server diversi.
Si vuole distribuire un'applicazione Windows .NET con ClickOnce
È necessaria solo una distribuzione locale dei test.
Si vuole esaminare e potenzialmente modificare in modo indipendente i file dell'applicazione prima di inviarli a un'altra destinazione di distribuzione.
Per altre informazioni, vedere Avvio rapido - Distribuire in una cartella locale.
Per altre informazioni sulla distribuzione di un'applicazione Windows .NET con ClickOnce, vedere Distribuire un'applicazione Windows .NET con ClickOnce.
Per altre informazioni su come scegliere le impostazioni, vedere quanto segue:
- Distribuzione dipendente dal framework e indipendente
- Identificatori di runtime di destinazione (RID portabile, et al)
- Eseguire il debug e la versione delle configurazioni
Server FTP/FTPS
Un server FTP/FTPS consente di distribuire l'applicazione in un server diverso da Azure. È possibile distribuire l'applicazione a un file system o qualsiasi altro server (Internet o Intranet) a cui si ha accesso, inclusi quelli presenti in altri servizi cloud. È anche possibile usare una distribuzione Web (file o .ZIP) e FTP.
Quando si sceglie un server FTP/FTPS, Visual Studio richiede un nome di profilo e quindi raccoglie informazioni aggiuntive di Connessione, tra cui il server o la posizione di destinazione, un nome del sito e le credenziali. È possibile controllare i comportamenti seguenti nella scheda Impostazioni:
- La configurazione da distribuire.
- Se rimuovere i file esistenti dalla destinazione.
- Se precompilare durante la pubblicazione.
- Se escludere i file nella cartella App_Data dalla distribuzione.
È possibile creare un numero qualsiasi di profili di distribuzione FTP/FTPS in Visual Studio, consentendo di gestire i profili con impostazioni diverse.
Quando scegliere la distribuzione del server FTP/FTPS
- Se si usano servizi cloud di un provider diverso da Azure a cui è possibile accedere con URL.
- Si vuole eseguire la distribuzione usando credenziali diverse da quelle usate in Visual Studio o quelle associate direttamente all'account Azure.
- Si vuole eliminare i file dalla destinazione ogni volta che si esegue la distribuzione.
Server Web (IIS)
Un server Web IIS consente di distribuire l'applicazione in un server Web diverso da Azure. Può essere distribuito in un server IIS (Internet o Intranet) a cui si ha accesso, inclusi quelli in altri servizi cloud. Può essere operatore con Distribuzione Web o un pacchetto distribuzione Web.
Quando si sceglie un server Web IIS, Visual Studio richiede un nome di profilo e quindi raccoglie informazioni aggiuntive Connessione ion, tra cui il server o la posizione di destinazione, il nome di un sito e le credenziali. È possibile controllare i comportamenti seguenti nella scheda Impostazioni:
- La configurazione da distribuire.
- Se rimuovere i file esistenti dalla destinazione.
- Se precompilare durante la pubblicazione.
- Se escludere i file nella cartella App_Data dalla distribuzione.
È possibile creare un numero qualsiasi di profili di distribuzione server Web IIS in Visual Studio, consentendo di gestire i profili con impostazioni diverse.
Quando scegliere la distribuzione del server Web (IIS)
- Si usa IIS per pubblicare un sito o un servizio accessibile tramite URL.
- Si vuole eseguire la distribuzione usando credenziali diverse da quelle usate in Visual Studio o quelle associate direttamente all'account Azure.
- Si vuole eliminare i file dalla destinazione ogni volta che si esegue la distribuzione.
Per altre informazioni, vedere Avvio rapido - Distribuire in un sito Web.
Per informazioni sulla risoluzione dei problemi ASP.NET Core in IIS, vedere Risolvere i problemi relativi a ASP.NET Core nel servizio app Azure e IIS.
Importa profilo
È possibile importare un profilo durante la pubblicazione in IIS o nel servizio app Azure. È possibile configurare la distribuzione usando un file di impostazioni di pubblicazione (*.publishsettings). Il file delle impostazioni di pubblicazione viene creato da IIS o dal servizio app di Azure oppure può essere creato manualmente e quindi importato in Visual Studio.
L'uso di un file di impostazioni di pubblicazione può semplificare la configurazione della distribuzione e funziona meglio in un ambiente team rispetto alla configurazione manuale di ogni profilo di distribuzione.
Quando scegliere il profilo di importazione
- Si sta pubblicando in IIS e si vuole semplificare la configurazione della distribuzione.
- Si sta pubblicando in IIS o app Azure Servizio e si vuole velocizzare la configurazione della distribuzione per il riutilizzo o per i membri del team che pubblicano nello stesso servizio.
Per altre informazioni, vedere gli argomenti seguenti:
- Importare impostazioni di pubblicazione e distribuzione in IIS
- Importare impostazioni di pubblicazione e distribuzione in Azure
Configurare le impostazioni di distribuzione .NET
Per altre informazioni su come scegliere le impostazioni, vedere quanto segue:
- Distribuzione dipendente dal framework e indipendente
- Identificatori di runtime di destinazione (RID portabile, et al)
- Eseguire il debug e la versione delle configurazioni
Passaggi successivi
Esercitazioni: