Condividi tramite


Ottenere le impostazioni di pubblicazione da IIS e importare in Visual Studio

È 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.
    • Aggiungi il carico di lavoro selezionando Strumenti>Ottieni strumenti e funzionalità.
  • Sul tuo server, devi eseguire Windows Server 2012 o versione successiva e avere correttamente installato il ruolo server Web IIS (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.

    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 di creare un file di impostazioni di pubblicazione dall'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.

  1. Se non hai già installato IIS Management Scripts and Tools, installalo 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.

    Installare gli script e gli strumenti di gestione IIS

    Gli script e gli strumenti sono necessari per abilitare la generazione del file delle impostazioni di pubblicazione.

    Assicurarsi di installare anche il del servizio di gestione e iis Management Console (potrebbero essere già installati).

  2. Su Windows Server scaricare Web Deploy 4.0.

  3. Eseguire il programma di installazione del distribuzione Web e assicurarsi di selezionare l'opzione di installazione completa invece dell'installazione tipica.

    Con un'installazione completa, si ottengono i componenti necessari per generare un file di impostazioni di pubblicazione. Se scegli invece Personalizzato, puoi vedere l'elenco dei componenti, come mostrato nella seguente illustrazione.

    Screenshot che mostra i componenti di Web Deploy 4.0

  4. (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).

    • 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 dell'agente di distribuzione Web non è presente, vai a Pannello di controllo > Programmi > Disinstalla un programma, trova Microsoft Web Deploy <versione>. Scegliere Modifica 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

  1. Chiudere e riaprire la Console di gestione IIS per visualizzare le opzioni di configurazione aggiornate nell'interfaccia utente.

  2. In IIS fare clic con il pulsante destro del mouse sulsito Web predefinito scegliere DeployConfigure Web Deploy Publishing.

    Configurare la configurazione di Distribuzione Web

    Se non viene visualizzato il menu Distribuisci, vedere la sezione precedente per verificare che Web Deploy sia in esecuzione.

  3. Nella finestra di dialogo Configura distribuzione Web, esaminare le impostazioni.

  4. Fare clic su Impostazioni.

    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, http://myhostname:8172 funziona anche in genere.)

    • 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 riesci a connetterti all'host remoto da Visual Studio usando il nome host, prova a utilizzare 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 di rete a una macchina virtuale.

  5. Copiare questo file nel computer in cui si esegue Visual Studio.

Importare le impostazioni di pubblicazione in Visual Studio e distribuire

  1. 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 hai configurato in precedenza dei profili di pubblicazione, viene visualizzato il riquadro Pubblica. Fare clic su Nuovo o Crea nuovo profilo.

  2. Selezionare l'opzione per importare un profilo.

    Nella finestra di dialogo Pubblica fare clic su Importa profilo.

    Scegliere Pubblica

  3. Accedi al percorso del file delle impostazioni di pubblicazione che hai creato nella sezione precedente.

  4. 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 Fine per salvare il profilo di pubblicazione, quindi fare clic 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.

    Modificare le impostazioni nello strumento di pubblicazione

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 visualizzi un avviso del certificato, scegli di fidarti 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.