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.
di Ben Byrd
Riepilogo
Finora è stata installata la distribuzione Web in un server Web e sono stati abilitati gli amministratori non per distribuire applicazioni in IIS 7. In questa procedura dettagliata si apprenderà come gli sviluppatori possono creare pacchetti di distribuzione Web, che possono essere distribuiti dagli utenti che hanno accesso al server Web (ad esempio amministratori o team IT/ops). Un pacchetto contiene i file (file binari e contenuto statico), i database e le impostazioni IIS da distribuire.
In questa esercitazione verrà distribuito il pacchetto nel server dal computer di sviluppo e verrà esaminato anche l'importazione nel server usando l'interfaccia utente distribuzione Web in Gestione IIS.
Pacchetti di distribuzione Web
In Visual Studio 2010 è possibile creare pacchetti di distribuzione Web tramite l'interfaccia utente o tramite MSBuild nella riga di comando. Entrambi questi metodi genereranno 1) un pacchetto di distribuzione Web standard e 2) un file batch (con estensione cmd) che consente di distribuire il pacchetto.
Configurazione delle opzioni pacchetto/pubblicazione:
Avviare Visual Studio 2010 e caricare la soluzione Contoso University C#.
In Esplora soluzioni espandere il nodo ContosoUniversity e fare doppio clic su Proprietà (C#)
Scegliere La configurazione per il pacchetto.
I pacchetti sono specifici della configurazione e le impostazioni sono per configurazione, quindi è necessario scegliere la configurazione e configurare l'impostazione prima di creare un pacchetto.Configurare elementi da distribuire (si applica a tutti i metodi di distribuzione)
Queste opzioni verranno usate indipendentemente dal fatto che si pubblica con Distribuzione Web o un metodo di pubblicazione diverso.-
Gli elementi da distribuire hanno tre opzioni:
L'unica opzione per eseguire questa applicazione deve essere sufficiente nella maggior parte dei casi. Ciò escluderà il codice sorgente, i file di progetto e altri file che normalmente non sono necessari per eseguire un sito. L'opzione Tutti i file in questo progetto pubblicano il set indicato in precedenza più i file di origine, i file di progetto e altri file correlati. L'opzione Tutti i file in questa cartella di progetto includerà file non presenti nel progetto, ad eccezione dei file nella cartella obj. - L'opzione Escludi simboli di debug generati indica a VS di escludere i simboli di debug se vengono generati i simboli.
- L'opzione Escludi file dalla cartella App_Data escluderà i file dalla cartella App_Data.
-
Gli elementi da distribuire hanno tre opzioni:
Configurare elementi da distribuire (si applica solo alla distribuzione Web)
Queste opzioni si applicano solo quando si crea un pacchetto di distribuzione Web o si usa il protocollo Distribuzione Web per la pubblicazione.- Includere tutte le opzioni di database indica a Web Deploy se distribuire i database configurati nella scheda Package/Publish SQL .
- Includere tutte le impostazioni IIS configurate in IIS/IIS Express e Includere le impostazioni del pool di applicazioni usate da queste opzioni del progetto Web sono illustrate nell'articolo {LINK to Article about IIS Settings} e sono disponibili solo quando è stato selezionato Usa server Web locale nella scheda Proprietà Web anziché nel server di sviluppo Cassini.
Configurare le impostazioni del pacchetto di distribuzione Web
- L'opzione Crea pacchetto di distribuzione come file zip determina se un file zip o una struttura di directory (Archive Directory) viene creata al momento del pacchetto. A meno che non si creino pacchetti che riscontrano il limite di dimensioni del file ZIP pari a 2.147.483.647 byte (Int.MaxValue), è consigliabile usare il formato ZIP.
- L'opzione Percorso in cui verrà creato il pacchetto specifica il percorso in cui verrà creato il file di pacchetto. Sarà necessario assicurarsi di disporre delle autorizzazioni di scrittura per la posizione specificata.
- Il nome del sito Web/dell'applicazione IIS da usare nell'opzione server di destinazione specifica il nome predefinito del sito o dell'applicazione che verrà usato nel server di destinazione se l'utente non specifica uno diverso.
- Percorso fisico dell'applicazione Web nel server di destinazione (usato solo quando le impostazioni IIS sono incluse e password usate per crittografare le opzioni di impostazioni IIS sicure sono descritte nell'articolo {LINK to Article about IIS Settings}
Configurazione delle opzioni SQL per il pacchetto/pubblicazione:
Esistono scenari in cui si vuole distribuire un database insieme all'applicazione. Ad esempio, quando si distribuisce l'applicazione per la prima volta, è possibile distribuire il database con schema e dati.
Si noti che Visual Studio 2010 non supporta la distribuzione incrementale del database.
Se si desidera includere database nel pacchetto, fare clic sulla scheda Package/Publish SQL .
Scegliere la configurazione per il pacchetto.
I pacchetti sono specifici della configurazione, quindi è necessario scegliere l'impostazione di configurazione per il pacchetto prima di crearlo.Se il file Web.config ha una stringa di connessione al database, è possibile fare clic su Importa da Web.Config. Verrà visualizzato un messaggio al termine dell'importazione.
Se non è stata trovata alcuna stringa di connessione, verrà visualizzata la seguente:
Se viene visualizzato questo errore, verificare che il file Web.Config abbia la stringa di connessione desiderata e che il file non sia stato modificato (un asterisco nella scheda editor indicherà che il file è stato modificato e che le modifiche non sono state salvate).Se un database da aggiungere al pacchetto di distribuzione non è elencato in Voci di database, fare clic sul pulsante Aggiungi per aggiungere la connessione.
Dopo aver aggiunto tutte le connessioni, è possibile selezionare una voce e regolarne l'ordine nell'elenco per specificare l'ordine in cui verrà aggiunto al pacchetto e quindi distribuito usando le frecce su e giù.
Facendo clic su una voce di database, sarà possibile rimuoverla.
Configurare quindi i dettagli per ogni database nella sezione Dettagli voce database .
- Selezionare un database dall'elenco Voci di database .
- Nel campo Stringa di connessione per il database di destinazione immettere la stringa di connessione da usare quando il database viene distribuito nel server. Questo valore è necessario per la pubblicazione con un clic, ma per la creazione di pacchetti, questo valore verrà usato come impostazione predefinita che può essere modificato in fase di distribuzione.
Nota: questo valore non verrà usato per aggiornare le informazioni sulla stringa di connessione nel file Web.config. È possibile aggiornare il file di Web.config per ogni configurazione di compilazione usando le trasformazioni Web.config. Per altre informazioni sulle trasformazioni Web.config, vedere {collegamento alla pubblicazione di articolo}, questo articolo su MSDN o il blog di Vishal Joshi qui nella sezione trasformazione Web.Config. - L'opzione Pull dei dati e/o dello schema da un database esistente eseguirà lo script del database indicato dalla stringa di connessione per il campo database di origine e eseguirà lo script dello schema, dei dati o entrambi a seconda dell'impostazione selezionata per le opzioni di scripting del database.
- L'ultima opzione, Script di database, consiste nell'aggiungere script SQL personalizzati e selezionare l'ordine in cui vengono eseguiti gli script. Se è stata selezionata la casella di controllo Pull dati e/o schema da un database esistente in Informazioni sul database di origine, viene visualizzata la casella di controllo [Scripting> del database generato< automaticamente]". Per eseguire script aggiuntivi, fare clic su Aggiungi script. Passare al percorso dello script e fare clic su Apri. È quindi possibile selezionarlo nella sezione Script di database e usare le frecce su e giù per regolarne l'ordine di esecuzione.
- L'ultima opzione, Note sulla distribuzione del database, è facoltativa.
- Salvare ora le modifiche apportate alla configurazione prima di continuare.
- Selezionare un database dall'elenco Voci di database .
Dopo aver configurato le impostazioni di creazione del pacchetto, è possibile creare un pacchetto.
Generazione del pacchetto da Visual Studio 2010
In VS 2010 selezionare il WAP da Esplora soluzioni.
Fare clic con il pulsante destro del mouse sul WAP.
Si noti che se non è mai stato eseguito l'accesso a Contoso University, il file aspnetdb.mdf non esiste. La creazione del pacchetto avrà esito negativo con un errore simile a questo: "Impossibile connettersi al database'C:\code\ContosoUniversity\ContosoUniversity\ContosoUniversity\App_Data\aspnetdb.mdf'. Una connessione è stata stabilita correttamente con il server, ma poi si è verificato un errore durante il processo di accesso."
- Per correggere questo errore, avviare semplicemente l'applicazione con F5 e registrare un utente. Verrà creato un file aspnetdb.mdf.
La finestra di output darà aggiornamenti in base agli stati di avanzamento del pacchetto. Al termine, l'output conterrà un collegamento al percorso del pacchetto.
Fare clic su questo collegamento aprirà il percorso del pacchetto.
Generazione del pacchetto da MSBuild
Tutte le impostazioni configurate in precedenza vengono archiviate nel file di progetto per il WAP. È ora possibile creare un WAP o una soluzione e avere creato il pacchetto che usa le impostazioni precedenti.
Aprire un prompt dei comandi con MSBuild nel percorso (ad esempio, il prompt dei comandi VS, che è in Start - Tutti i programmi ->> Microsoft Visual Studio 2010 -> Strumenti di Visual Studio -> Prompt dei comandi di Visual Studio (2010))
Passare al file di soluzione o progetto.
Se si crea una soluzione, il comando avrà un aspetto simile al seguente:
msbuild {solution file} /p:CreatePackageOnPublish=true /p:DeployOnBuild=true
Se si sta creando il file di progetto, il comando sarà simile al seguente:
msbuild {project file} /t:Package
Se si vuole creare una configurazione diversa dall'impostazione predefinita, aggiungere quanto segue ai comandi precedenti:
/p:Configuration={Configuration Name}
Distribuzione del pacchetto dal prompt dei comandi
Ora che è disponibile un pacchetto, è possibile distribuirlo dal prompt dei comandi. Verrà distribuito come amministratore.
Per distribuire il pacchetto come amministratore usando il servizio agente remoto:
- Aprire un prompt dei comandi
- Passare alla posizione in cui è stato compilato il pacchetto. È possibile trovare queste informazioni nell'output della compilazione. Verrà visualizzato un collegamento nella finestra output della compilazione nell'interfaccia utente e dalla riga di comando la posizione verrà elencata nella sezione PackageUsingManifest dell'output della compilazione.
- Digitare {nome progetto}.deploy.cmd /t /m:{destinationServerName} /u:{administratorUser} /p:{AdministratorPassword} e premere INVIO.
- Se il trail pubblica genera i risultati corretti viene eseguito di nuovo il comando senza il parametro /t .
Per altre informazioni sulla distribuzione usando il file di comando, è possibile digitare {nome progetto}.deploy.cmd per aprire il readme associato o visitare l'articolo che si trova qui.
Distribuzione del pacchetto con Gestione IIS
È anche possibile usare gestione Internet Information Services (IIS) per installare il pacchetto appena creato.
Per distribuire il pacchetto tramite Gestione Internet Information Services (inetmgr):
Eseguire inetmgr.exe
Espandere il nodo server in inetmgr.
Espandere il nodo Siti .
Fare clic con il pulsante destro del mouse sul sito in cui si vuole importare l'applicazione.
Immettere il percorso del pacchetto nella casella di testo Percorso pacchetto.
Scegliere Avanti
A questo punto, selezionare il contenuto della schermata Pacchetto. Controllando e deselezionando gli elementi che è possibile personalizzare ciò che è installato. In questo screenshot viene visualizzato:
Dopo aver selezionato gli elementi desiderati da installare, fare clic su Avanti.
Sarà ora necessario verificare il set dei parametri del pacchetto.
- Percorso applicazione è il percorso per installare l'applicazione, poiché ho deciso di importare dal nodo Sito Web predefinito inetmgr che sarà la radice e posso immettere un nome dell'applicazione nella casella di testo da installare.
- Il primo parametro Stringa di connessione è il database in cui installare lo script del pacchetto.
- Il secondo parametro Stringa di connessione è il valore da inserire nel file di web.config. I due parametri diversi consentono di installare il database come utente con privilegi più elevati ed eseguire l'applicazione con un account con privilegi inferiore.
Fare clic su Avanti.
Se l'applicazione esiste, verrà richiesto se si desidera eliminare file aggiuntivi. Scegliere l'opzione desiderata e fare clic su Avanti.
Si conoscerà la pagina di riepilogo. Esaminare le informazioni e fare clic su Fine.
Ora in inetmgr è possibile fare clic sul collegamento Sfoglia in Gestisci applicazione per visualizzare il sito