Condividi tramite


Distribuzione del sito tramite Visual Studio (VB)

di Scott Mitchell

Scarica il PDF

Visual Studio include strumenti per la distribuzione di un sito Web. Altre informazioni su questi strumenti in questa esercitazione.

Introduzione

L'esercitazione precedente ha esaminato come distribuire una semplice applicazione Web ASP.NET a un provider host Web. In particolare, l'esercitazione ha illustrato come usare un client FTP come FileZilla per trasferire i file necessari dall'ambiente di sviluppo all'ambiente di produzione. Visual Studio offre anche strumenti predefiniti per facilitare la distribuzione in un provider host Web. Questa esercitazione esamina due di questi strumenti: lo strumento Copia sito Web, in cui è possibile spostare i file da e verso un server Web remoto usando estensioni FTP o FrontPage Server; e lo strumento Pubblica, che copia l'intero sito Web in una posizione specificata.

Nota

Un altro strumento correlato alla distribuzione offerto da Visual Studio è il componente aggiuntivo Progetti di installazione Web . I progetti di installazione Web contengono informazioni sul contenuto e sulla configurazione di un sito Web in un singolo file MSI. Questa opzione è più utile per i siti Web distribuiti all'interno di una intranet o per le aziende che vendono un'applicazione Web preconfezionata che i clienti installano nei propri server Web. I progetti di distribuzione Web Add-In sono un Add-In di Visual Studio che facilita la specifica delle differenze di configurazione tra build per ambienti di sviluppo e ambienti di produzione. I progetti di installazione Web non vengono illustrati in questa serie di esercitazioni; I progetti di distribuzione Web vengono riepilogati nell'esercitazione Sulle differenze di configurazione comuni tra sviluppo e produzione .

Distribuzione del sito usando lo strumento Copia sito Web

Lo strumento Copia sito Web di Visual Studio è simile alla funzionalità di un client FTP autonomo. In breve, lo strumento Copia sito Web consente di connettersi a un sito Web remoto tramite ESTENSIONI FTP o FrontPage Server. Analogamente all'interfaccia utente di FileZilla, l'interfaccia utente copia sito Web è costituita da due riquadri: il riquadro sinistro elenca i file locali mentre il riquadro destro elenca tali file nel server di destinazione.

Nota

Lo strumento Copia sito Web è disponibile solo per i progetti siti Web. Visual Studio offre questo strumento quando si usa un progetto applicazione Web.

Esaminiamo l'uso dello strumento Copia sito Web per pubblicare l'applicazione Book Review nell'ambiente di produzione. Poiché lo strumento Copia sito Web funziona solo con i progetti che usano il modello di progetto sito Web, è possibile esaminare solo usando questo strumento con il progetto BookReviewsWSP. Aprire il progetto.

Avviare il progetto Copia sito Web facendo clic sull'icona Copia sito Web nel Esplora soluzioni (questa icona è cerchiata nella figura 1). In alternativa, è possibile selezionare l'opzione Copia sito Web dal menu Sito Web. Entrambi gli approcci avviano l'interfaccia utente copia sito Web illustrata nella figura 1; solo il riquadro sinistro nella figura 1 viene popolato perché è ancora necessario connettersi a un server remoto.

L'interfaccia utente dello strumento copia sito Web è divisa in due riquadri

Figura 1: l'interfaccia utente dello strumento copia sito Web è divisa in due riquadri (fare clic per visualizzare l'immagine full-size)

Per distribuire il sito è necessario prima connettersi al provider host Web. Fare clic sul pulsante Connetti nella parte superiore dell'interfaccia utente copia sito Web. Verrà visualizzata la finestra di dialogo Apri sito Web visualizzata nella figura 2.

È possibile connettersi al sito Web di destinazione selezionando una delle quattro opzioni a sinistra:

  • File System : selezionare questa opzione per distribuire il sito in una cartella o in una condivisione di rete accessibile dal computer.
  • IIS locale : usare questa opzione per distribuire il sito nel server Web IIS installato nel computer.
  • Sito FTP : connettersi a un sito Web remoto tramite FTP.
  • Sito remoto: connettersi a un sito Web remoto usando le estensioni del server FrontPage.

La maggior parte dei provider host Web supporta FTP, ma meno offrono il supporto di FrontPage Server Extension. Per questo motivo, ho selezionato l'opzione Sito FTP e quindi immesse le informazioni di connessione, come illustrato nella figura 2.

Screenshot della finestra di dialogo Apri sito Web, che mostra le informazioni di connessione compilate nei campi di testo.

Figura 2: Specificare il sito Web di destinazione (fare clic per visualizzare l'immagine full-size)

Dopo la connessione, lo strumento Copia sito Web carica i file nel sito remoto nel riquadro destro e indica lo stato di ogni file: Nuovo, Eliminato, Modificato o Invariato. È possibile copiare un file dal sito locale al sito remoto o viceversa.

Aggiungere una nuova pagina al progetto BookReviewsWSP e quindi distribuirla in modo che sia possibile visualizzare lo strumento Copia sito Web in azione. Creare una nuova pagina ASP.NET in Visual Studio nella directory radice denominata Privacy.aspx. Usare la pagina Site.master master e aggiungere i criteri di privacy del sito a questa pagina. La figura 3 mostra Visual Studio dopo la creazione di questa pagina.

Aggiungere un nuovo codice>denominato <pagina Privacy.aspx</codice> alla cartella radice del sito Web

Figura 3: Aggiungere una nuova pagina denominata Privacy.aspx alla cartella radice del sito Web (fare clic per visualizzare l'immagine full-size)

Tornare quindi all'interfaccia utente copia sito Web. Come illustrato nella figura 4, il riquadro sinistro include ora i nuovi file e Policy.aspxPolicy.aspx.vb. Di più, questi file sono contrassegnati con un'icona a forma di freccia e uno Stato nuovo, che indica che esistono nel sito locale, ma non nel sito remoto.

Lo strumento Copia sito Web include il nuovo <codice Privacy.aspx</tabella codici>> nel riquadro sinistro

Figura 4: Lo strumento Copia sito Web include la nuova Privacy.aspx pagina nel riquadro sinistro (fare clic per visualizzare l'immagine full-size)

Per distribuire i nuovi file selezionarli e quindi fare clic sull'icona della freccia per trasferirli nel sito remoto. Al termine del trasferimento, i Policy.aspx file e Policy.aspx.vb sono presenti nei siti locali e remoti con lo stato Invariato.

Oltre a elencare nuovi file, lo strumento Copia sito Web evidenzia tutti i file che differiscono tra i siti locali e remoti. Per visualizzare questa operazione in azione, tornare alla pagina e aggiungere alcune parole all'informativa Privacy.aspx sulla privacy. Salvare la pagina e quindi tornare allo strumento Copia sito Web. Come illustrato nella figura 5, la Privacy.aspx pagina nel riquadro sinistro ha uno stato di Modifica che indica che non è sincronizzata con il sito remoto.

Lo strumento Copia sito Web indica che il <codice Privacy.aspx</tabella codici>> è stato modificato

Figura 5: Lo strumento Copia sito Web indica che la pagina è stata modificata (fare clic per visualizzare l'immaginePrivacy.aspx full-size)

Lo strumento Copia sito Web indica anche se un file è stato eliminato dall'ultima operazione di copia. Eliminare l'oggetto Privacy.aspx dal progetto locale e aggiornare lo strumento Copia sito Web. I Privacy.aspx file e Privacy.aspx.vb rimangono elencati nel riquadro sinistro, ma hanno uno stato eliminato che indica che sono stati rimossi dall'ultima operazione di copia.

Pubblicazione di un'applicazione Web

Un altro modo per distribuire l'applicazione Web da Visual Studio consiste nell'usare l'opzione Pubblica, accessibile tramite il menu Compilazione. L'opzione Pubblica compila in modo esplicito l'applicazione e quindi copia tutti i file necessari fino al sito remoto specificato. Come si vedrà brevemente, l'opzione Pubblica è più blu rispetto allo strumento Copia sito Web. Mentre lo strumento Copia sito Web consente di esaminare i file nei siti locali e remoti e consente di caricare o scaricare singoli file in base alle esigenze, l'opzione Pubblica distribuisce l'intera applicazione Web.

Oltre a copiare tutti i file necessari nel sito remoto specificato, l'opzione Pubblica compila in modo esplicito l'applicazione. Dato che i progetti applicazione Web devono essere compilati in modo esplicito, non dovrebbero sorprendere che l'opzione Pubblica sia disponibile per i progetti applicazione Web. Ciò che potrebbe essere un po 'sorprendente è che l'opzione Pubblica è disponibile anche per progetti siti Web. Come indicato nell'esercitazione Determinazione dei file da distribuire , i progetti siti Web possono essere compilati in modo esplicito tramite un processo denominato pre-compilazione. Questa esercitazione è incentrata sull'uso dell'opzione Pubblica con progetti applicazione Web; un'esercitazione futura esaminerà la pre-compilazione, a questo punto si tornerà a esaminare l'uso dell'opzione Pubblica con progetti sito Web.

Nota

Anche se l'opzione Pubblica è disponibile in Visual Studio per progetti siti Web e progetti applicazione Web, Visual Web Developer offre solo l'opzione Pubblica per progetti applicazione Web.

Esaminiamo la distribuzione dell'applicazione Recensioni libro usando l'opzione Pubblica. Iniziare aprendo BookReviewsWAP (progetto applicazione Web) in Visual Studio. Nel menu Pubblica scegliere il progetto Build BookReviewsWAP. Viene visualizzata una finestra di dialogo che richiede la posizione di destinazione, tra le altre opzioni di configurazione (vedere la figura 6). Analogamente allo strumento Copia sito Web, è possibile immettere un percorso che punta a una cartella locale, un sito Web locale in IIS, un sito Web remoto che supporta le estensioni del server FrontPage o un indirizzo server FTP. È possibile scegliere se sostituire i file nel server Web remoto con i file distribuiti o eliminare tutto il contenuto nel sito remoto prima della pubblicazione. È anche possibile specificare se copiare:

  • Solo i file nel progetto necessari per eseguire l'applicazione, che omette il codice sorgente non richiesto e i file correlati al progetto.
  • Tutti i file di progetto, che includono i file di codice sorgente e i file di progetto di Visual Studio come il file di soluzione.
  • Tutti i file nella cartella del progetto di origine, che copia tutti i file nella cartella del progetto di origine indipendentemente dal fatto che siano inclusi nel progetto.

È anche possibile caricare il contenuto della App_Data cartella.

Screenshot della finestra di dialogo Pubblica Web, che mostra la casella di controllo Elimina tutti i file esistenti prima della pubblicazione e Solo i file necessari per eseguire le caselle di controllo.

Figura 6: Specificare il sito Web di destinazione (fare clic per visualizzare l'immagine full-size)

Per l'applicazione Book Review il sito remoto contiene i file distribuiti durante la copia del progetto BookReviewsWSP tramite lo strumento Copia sito Web. Di conseguenza, è possibile avviare l'opzione Pubblica eliminando tutto il contenuto esistente. Inoltre, si copiano solo i file necessari anziché incluttere l'ambiente di produzione con codice sorgente e file di progetto non necessari. Dopo aver specificato queste opzioni, fare clic sul pulsante Pubblica. Nei prossimi secondi Visual Studio distribuirà i file necessari nel sito di destinazione, visualizzandone lo stato nella finestra Output.

La figura 7 mostra i file nel sito FTP dopo il completamento dell'operazione di pubblicazione. Si noti che sono stati caricati solo le pagine di markup e i file di supporto sul lato client necessari.

Solo i file necessari sono stati pubblicati nell'ambiente di produzione

Figura 7: Solo i file necessari sono stati pubblicati nell'ambiente di produzione (fare clic per visualizzare l'immagine a dimensione intera)

L'opzione Pubblica è uno strumento meno sfumato rispetto allo strumento Copia sito Web. Mentre lo strumento Copia sito Web consente di esaminare i file nei siti locali e remoti e verificare la differenza, l'opzione Pubblica non fornisce tale interfaccia. Inoltre, lo strumento Copia sito Web consente di apportare modifiche occasionali, caricare o eliminare singoli file. L'opzione Pubblica non consente un controllo con granularità fine; pubblica invece l'intera applicazione. Questo comportamento presenta vantaggi e svantaggi. Sul lato più, si sa quando si usa l'opzione Pubblica non si dimentica di caricare un file importante. Tuttavia, considerare cosa accade se è stata apportata una piccola modifica a un sito Web di grandi dimensioni, con l'opzione Pubblica non è possibile aggiornare la pagina o due che sono state modificate, ma è necessario attendere mentre Visual Studio distribuisce l'intero sito.

Non è raro che esistano determinati file il cui contenuto differisce tra gli ambienti di produzione e di sviluppo. Un esempio chiave è il file di configurazione dell'applicazione, Web.config. Poiché l'opzione Pubblica copia in modo cieco i file dell'applicazione Web che sovrascrive i file di configurazione personalizzati dell'ambiente di produzione con la versione nell'ambiente di sviluppo. L'esercitazione successiva illustra ulteriormente questo argomento e offre suggerimenti per la distribuzione di un'applicazione Web in presenza di tali differenze.

Riepilogo

La distribuzione di un sito Web comporta la copia dei file necessari dall'ambiente di sviluppo all'ambiente di produzione. L'esercitazione precedente ha illustrato come trasferire file usando un client FTP come FileZilla. Questa esercitazione ha esaminato due strumenti di distribuzione in Visual Studio: lo strumento Copia sito Web e l'opzione Pubblica. Lo strumento Copia sito Web è simile a un client FTP in quanto dispone di un'interfaccia a due panoramica che elenca i file nel computer locale e un computer remoto specificato che semplifica il caricamento o il download di file tra i due computer. L'opzione Pubblica è uno strumento più sfocato che compila il progetto in modo esplicito e quindi distribuisce l'intera applicazione nella destinazione specificata.

Buon programmatori!

Altre informazioni

Per altre informazioni sugli argomenti descritti in questa esercitazione, vedere le risorse seguenti: