Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare lo strumento Pubblica per importare le impostazioni di pubblicazione e quindi distribuire l'app. In questo articolo vengono usate le impostazioni di pubblicazione per IIS.
Questi passaggi si applicano alle applicazioni Web ASP.NET e ASP.NET Core.
Nota
Un file di impostazioni di pubblicazione (*.publishsettings) è diverso da un profilo di pubblicazione (*.pubxml). Un file di impostazioni di pubblicazione viene creato in IIS e quindi può essere importato in Visual Studio. Visual Studio crea il profilo di pubblicazione.
Prerequisiti
Visual Studio installato con il carico di lavoro ASP.NET e sviluppo web. Se Visual Studio è già stato installato:
- Installare gli aggiornamenti più recenti in Visual Studio selezionando Guida>Controllare la disponibilità di aggiornamenti.
- Aggiungere il carico di lavoro selezionando strumenti >Ottenere strumenti e funzionalità.
Nel server è necessario eseguire Windows Server 2012 o versione successiva ed è necessario disporre del ruolo server Web IIS installato correttamente (necessario per generare il file delle impostazioni di pubblicazione (
.publishsettings
). Anche ASP.NET 4.5 o ASP.NET Core deve essere installato nel server. I passaggi di questa esercitazione sono stati testati in Windows Server 2022.Per configurare ASP.NET Core, vedere Host ASP.NET Core in Windows con IIS. Per ASP.NET Core, assicurarsi di configurare il pool di applicazioni impostando Senza codice gestito, come descritto nell'articolo.
Per configurare ASP.NET 4.5, vedere IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5.
Nota
IIS in Windows non supporta la generazione delle impostazioni di pubblicazione. Tuttavia, è comunque possibile pubblicare in IIS usando lo strumento Pubblica in Visual Studio.
Installare e configurare distribuzione Web in Windows Server
Web Deploy offre funzionalità di configurazione aggiuntive che consentono la creazione del file delle impostazioni di pubblicazione tramite l'interfaccia utente.
Nota
Il programma di installazione della piattaforma Web ha raggiunto la fine della vita il 7/1/22. Per altre informazioni, vedere Programma di installazione della piattaforma Web - Fine del supporto e chiusura del feed di prodotti/applicazioni. È possibile installare direttamente Distribuzione Web 4.0 per creare il file delle impostazioni di pubblicazione.
Se non è già stato installato IIS Management Scripts and Tools, installarlo ora.
Passare a Selezionare i ruoli del server>Server Web (IIS)>Strumenti di gestione, quindi selezionare il ruolo script e strumenti di gestione IIS, fare clic su Avantie quindi installare il ruolo.
Gli script e gli strumenti sono necessari per abilitare la generazione del file delle impostazioni di pubblicazione.
Assicurati di installare anche il Servizio di Gestione e la Console di Gestione IIS (potrebbero essere già installati).
Su Windows Server scaricare Web Deploy 4.0.
Esegui il programma di installazione di Web Deploy e assicurati di selezionare l'opzione Installazione completa anziché un'installazione tipica.
Con un'installazione completa, si ottengono i componenti necessari per generare un file di impostazioni di pubblicazione. Se si sceglie Custom, è possibile visualizzare l'elenco dei componenti, come mostrato nell'illustrazione seguente.
(Facoltativo) Verificare che Distribuzione Web sia in esecuzione correttamente aprendo Pannello di controllo > Sistema e sicurezza > Strumenti di amministrazione > Servicese quindi assicurarsi che:
servizio agente di distribuzione Web è in esecuzione (il nome del servizio è diverso nelle versioni precedenti).
Il Servizio di Gestione Web è in esecuzione.
Se uno dei servizi dell'agente non è in esecuzione, riavviare il servizio agente di distribuzione Web .
Se il servizio agente di distribuzione Web non è presente, passare a Pannello di controllo > Programmi > Disinstallare un programma, trovare Microsoft Web Deploy <versione>. Scegliere di Modificare l'installazione e assicurarsi di scegliere Verrà installato nel disco rigido locale per i componenti di distribuzione Web. Completare i passaggi di installazione delle modifiche.
Creare il file delle impostazioni di pubblicazione in IIS in Windows Server
Chiudere e riaprire la Console di gestione IIS per visualizzare le opzioni di configurazione aggiornate nell'interfaccia utente.
In IIS fare clic con il pulsante destro del mouse sul sito Web predefinitoscegliere Deploy>Configure Web Deploy Publishing.
Se non vedi il menu Distribuisci, consulta la sezione precedente per verificare che Web Deploy sia in esecuzione.
Nella finestra di dialogo Configura pubblicazione distribuzione Web, esaminare le impostazioni.
Cliccare su Setup.
Nel pannello Risultati l'output mostra che i diritti di accesso vengono concessi all'utente specificato e che un file con estensione publishsettings file è stato generato nel percorso visualizzato nella finestra di dialogo.
<?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>
A seconda della configurazione di Windows Server e IIS, nel file XML vengono visualizzati valori diversi. Ecco alcuni dettagli sui valori visualizzati:
Il file msdeploy.axd a cui si fa riferimento nell'attributo
publishUrl
è un file del gestore HTTP generato dinamicamente per distribuzione Web. (A scopo di test, in genere funziona anchehttp://myhostname:8172
.)La porta
publishUrl
è impostata sulla porta 8172, ovvero l'impostazione predefinita per Distribuzione Web.La porta
destinationAppUrl
è impostata sulla porta 80, ovvero l'impostazione predefinita per IIS.Se, nei passaggi successivi, non è possibile connettersi all'host remoto da Visual Studio usando il nome host, testare l'indirizzo IP del server al posto del nome host.
Nota
Se si esegue la pubblicazione in IIS in una macchina virtuale di Azure, è necessario aprire una porta in ingresso per Distribuzione Web e IIS nel gruppo Sicurezza di rete. Per informazioni dettagliate, vedere Aprire le porte a una macchina virtuale.
Copiare questo file nel computer in cui si esegue Visual Studio.
Importare le impostazioni di pubblicazione in Visual Studio e distribuire
Nel computer in cui è aperto il progetto ASP.NET in Visual Studio fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Pubblica.
Se in precedenza sono stati configurati profili di pubblicazione, viene visualizzato il riquadro Pubblica. Fare clic su Nuovo o Crea nuovo profilo.
Selezionare l'opzione per importare un profilo.
Nella finestra di dialogo Pubblica , fare clic su Importa profilo.
Vai al percorso del file delle impostazioni di pubblicazione creato nella sezione precedente.
Nella finestra di dialogo Importa file di impostazioni di pubblicazione passare a e selezionare il profilo creato nella sezione precedente e fare clic su Apri.
Fare clic su Concludi per salvare il profilo di pubblicazione e quindi su Pubblica.
Visual Studio avvia il processo di distribuzione e la finestra Output mostra lo stato di avanzamento e i risultati.
Se si verificano errori di distribuzione, fare clic su Altre azioni>Modifica per modificare le impostazioni. Modificare le impostazioni e fare clic su Convalida per testare le nuove impostazioni. Se il nome host non viene trovato, provare l'indirizzo IP anziché il nome host nei campi server e url di destinazione .
Dopo che l'app viene distribuita correttamente, dovrebbe essere avviata automaticamente.
Problemi comuni
Prima di tutto, controllare la finestra Output in Visual Studio per informazioni sullo stato e controllare i messaggi di errore. Inoltre:
- Se non è possibile connettersi all'host usando il nome host, provare invece l'indirizzo IP.
- Assicurarsi che le porte necessarie siano aperte nel server remoto.
- Per ASP.NET Core, in IIS è necessario assicurarsi che il campo Pool di applicazioni per il DefaultAppPool sia impostato su Nessun codice gestito.
- Verificare che la versione di ASP.NET usata nell'app corrisponda alla versione installata nel server. Per l'app, puoi visualizzare e impostare la versione nella pagina proprietà. Per impostare l'app su una versione diversa, è necessario installare tale versione.
- Se l'app ha tentato di aprirsi, ma viene visualizzato un avviso del certificato, scegliere di fidarsi del sito. Se l'avviso è già stato chiuso, è possibile modificare il file *.pubxml nel progetto e aggiungere l'elemento seguente:
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
. Questa impostazione è solo per i test. - Se l'app non viene avviata da Visual Studio, avviare l'app in IIS per verificare che sia stata distribuita correttamente.