Visual Studio 2010 Walkthrough: Deploying a Web Site Project by Using the Publish Web Site Tool Provides step-by-step instructions for using the Publish Web Site tool of Visual Studio to compile a Web site project, and then copy the output to a specified location. If you want to deploy a Web site project to a server, you can use the Publish Web Site tool that is included with Visual Studio. The Publish Web Site tool precompiles the pages and code that are in the Web site and writes the compiler output to a folder that you specify. You can then copy the output to the target Web server and run the application from there. Note |
|---|
The Publish Web Site tool is not available in Visual Web Developer Express. |
If you were deploying to production, you might want to prevent the production site from responding to page requests during the deployment process, to help avoid errors that might result when changes are in progress. Also, you might want to make sure that the application domain does not recycle multiple times during deployment. This walkthrough does not cover these tasks. For more information, see How to: Prepare to Deploy a Web Project.

Prerequisites
In order to complete this walkthrough, you will need the following: Visual Studio. Access to Microsoft Internet Information Services (IIS) so that you can test the result of publishing a Web site project. In this walkthrough, it is assumed that you have IIS running on your own computer. Alternatively, you can use any instance of IIS for which you have permission to create a virtual directory.

Creating the Web Site Project
If you have already created a Web site project in Visual Studio (for example, by completing Walkthrough: Creating a Basic Web Page in Visual Studio), you can use that project and go to the next section. Otherwise, create a new Web site project. For this walkthrough, you will create a file system Web site. To create a file system Web siteOpen Visual Studio. In the File menu, click New Web Site. The New Web Site dialog box is displayed. Under Installed Templates, click Visual Basic or Visual C# and then select ASP.NET Empty Web Site. In the Web location box, select File System, and then enter the name of the folder where you want to keep the pages for your Web site. For example, type the folder name C:\WebSites. Click OK. Visual Studio creates a Web site project that includes only a Web.config file.

Creating a Test Page and Class
For this walkthrough, you will create a Web page with some controls. You will also create a class file that you will use in the Web page. Creating both a Web page and a separate class will let you see how the publish process precompiles the contents of the Web site. You will start by creating a new page, and then adding a button and label to the page. To create the page and add controlsIn Solution Explorer, right-click the name of the Web site project and click Add New Item. Under Installed Templates, select your preferred programming language, and then click Web Form. In the Name box, type SamplePage.aspx. Click Add. Switch to Design view. From the Standard group in the Toolbox, drag a Label control onto the page. From the Standard group in the Toolbox, drag a Button control onto the page and position it next to the Label control.
Next, you will create the source code for a simple class that has a single property in it. You will use the class in the code for your page. To create a classIn Solution Explorer, right-click the name of the Web site project, point to Add ASP.NET Folder, and then click App_Code. A new folder named App_Code appears in your application in Solution Explorer. The App_Code folder is a reserved ASP.NET application folder. For more information, see ASP.NET Web Project Folder Structure. Right-click the App_Code folder, and then click Add New Item. Under Installed Templates, click the language that you prefer to work with, and then click Class. In the Name box, type TestClass. Click Add. Visual Studio creates a skeleton class file in the programming language that you have specified. Create a property named TestProperty. When you are finished, the complete class file will look similar to the following:
Imports Microsoft.VisualBasic
Public Class TestClass
Private TestPropertyValue As String
Public Property TestProperty() As String
Get
Return TestPropertyValue
End Get
Set(ByVal value As String)
TestPropertyValue = value
End Set
End Property
End Class
using System;
public class TestClass
{
public TestClass() { }
private string TestPropertyValue;
public string TestProperty
{
get{ return TestPropertyValue; }
set{ TestPropertyValue = value; }
}
}
You can now use the class in the page. Notice that you do not have to compile the class before using it. To use the class in the pageOpen SamplePage.aspx and switch to Design view. Double-click the Button control to create a Click handler for it. In the Click handler, create an instance of the TestClass that you created in the preceding procedure, assign a value to the TestProperty property, and then display the TestProperty value in the Label control. The complete code will look similar to this:
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim testClass As New TestClass
testClass.TestProperty = "Hello"
Label1.Text = testClass.TestProperty
End Sub
protected void Button1_Click(object sender, EventArgs e)
{
TestClass testClass = new TestClass();
testClass.TestProperty = "Hello";
Label1.Text = testClass.TestProperty;
}
Testing the Web SiteBefore publishing the site, you can test it to make sure that the site works in the way that you expect. To test the Web siteOpen the SamplePage.aspx page. Press CTRL+F5. The page appears in the browser. Click Button and make sure that text appears in the Label control. Close the browser.

Publishing the Web Site
Now that you have a Web site, you can publish it. You can publish the Web site to any location that you have access to, using any connection protocol that is supported by Visual Studio. You have the following options for copying the Web site: Copy to a folder on the local computer. Use a UNC share to copy to a shared folder that is on another computer on the network. Use FTP to copy to a server. Use the HTTP protocol to copy to a server that has FrontPage Server Extensions (FPSE) installed on it.
In this part of the walkthrough, you will publish the Web site to a local folder. To publish the Web siteOn the Build menu, click Publish Web Site. The Publish Web Site dialog box appears. In the Target Location box, enter c:\CompiledSite. Caution |
|---|
All data in the target folder and its subfolders will be deleted. |
For the purposes of this walkthrough, you are publishing to a local folder. If you wanted to publish to a remote Web site using HTTP or FTP the Target Location box is where you would specify the remote server URL. Clear Allow this precompiled site to be updatable. This option specifies that all program code is compiled into assemblies, but that pages and user controls (.aspx, .ascx, and .master files) are copied as-is to the target folder and can be updated as text files without recompiling the project. In this walkthrough, you will not select that option. For detailed information, see ASP.NET Web Site Project Deployment Overview. Click OK. Visual Studio precompiles the contents of the Web site and writes the output to the folder that you specified. The Output window displays progress messages. If an error occurs during compilation, it is reported in the Output window. If errors occur during publishing, fix the errors, and then repeat this procedure.
Examining the Output of the Publish Web Site CommandIt is useful to examine the output of the Publish Web Site command so that you can see what Visual Studio has done with your Web site files. To examine the output of the Publish Web Site commandIn Windows Explorer, navigate to the folder that you specified as the target for the Publish Web Site command. Using a text editor such as Notepad, open the SamplePage.aspx file. Notice that the file does not contain the markup that you originally had in the file. Instead, the .aspx page is only a placeholder that can be used as part of a URL. Move to the Bin folder. The folder contains two types of files: .compiled files, which correspond to pages. .dll files, which contain the executable code for the Web site, such as the class file that you created.
The page, its code, and the separate class file that you created have all been compiled into executable code.

Testing the Published Web Site
You can now test the published Web site by running it. To test the published Web siteCreate an IIS virtual directory that points to the target folder. From the Windows Start menu, select Run, enter inetmgr, and click OK. The Internet Information Services (IIS) Manager dialog box appears. In the Connections pane, expand your server name and expand Sites. Right-click Default Web Site and select Add Virtual Directory. The Add Virtual Directory dialog box appears. In the Alias box, enter CompiledWebSite. In the Physical path box, enter C:\CompiledWebSite. Click OK. In the Connections pane of IIS Manager, right-click the new virtual directory and select Convert to Application. The Add Application dialog box appears. Click OK.
Open the browser and type the following URL: http://localhost/CompiledSite/SamplePage.aspx The SamplePage.aspx page appears. However, this time you are viewing the version of the page that was created by the precompiler for deployment.

Next Steps
This walkthrough has shown you the basic procedure for publishing a precompiled Web site. Suggestions for more exploration include the following:

See Also
|
Visual Studio 2010 Procedura dettagliata: distribuzione di un progetto di sito Web con lo strumento Pubblica sito Web Vengono fornite istruzioni dettagliate relative all'utilizzo dello strumento Pubblica sito Web di Visual Studio per la compilazione di un progetto di sito Web e la successiva copia dell'output in un percorso specificato. Per la distribuzione di un progetto di sito Web in un server, è possibile utilizzare lo strumento Pubblica sito Web incluso Visual Studio. Lo strumento Pubblica sito Web consente di precompilare le pagine e il codice presenti nel sito Web e di scrivere l'output del compilatore in una cartella specificata. Quindi, sarà possibile copiare l'output nel server Web di destinazione da cui eseguire l'applicazione. Nota |
|---|
Lo strumento Pubblica sito Web non è disponibile in Visual Web Developer Express. |
Se la distribuzione venisse effettuata nell'ambiente di produzione, potrebbe essere necessario impedire al sito di produzione di rispondere alle richieste di pagina durante il processo di distribuzione allo scopo di evitare errori che potrebbero verificarsi durante l'applicazione delle modifiche. È inoltre necessario assicurarsi che il dominio dell'applicazione non venga sottoposto a riciclo più volte durante la distribuzione. In questa procedura dettagliata non sono analizzate queste attività. Per ulteriori informazioni, vedere Procedura: preparare una distribuzione di progetto Web.

Prerequisiti
Per completare questa procedura dettagliata, è necessario disporre dei seguenti elementi: Visual Studio. Accesso a Microsoft Internet Information Services (IIS) per eseguire il test del risultato della pubblicazione di un progetto di sito Web. In questa procedura dettagliata si presuppone che nel computer in uso sia in esecuzione IIS. In alternativa, è possibile utilizzare una delle istanze di IIS per la quale si dispone dell'autorizzazione per la creazione di una directory virtuale.

Creazione del progetto di sito Web
Se è già stato creato un progetto di sito Web in Visual Studio, ad esempio completando Procedura dettagliata: creazione di una pagina Web di base in Visual Studio, è possibile utilizzare tale progetto e passare alla sezione successiva. In caso contrario, creare un nuovo progetto di sito Web. Per questa procedura dettagliata, sarà creato un sito Web di file system. Per creare un sito Web di file systemAprire Visual Studio. Scegliere Nuovo sito Web dal menu File. Verrà visualizzata la finestra di dialogo Nuovo sito Web. In Modelli installati fare clic su Visual Basic o Visual C#, quindi selezionare Sito Web ASP.NET vuoto. Nella casella Percorso Web selezionare File system, quindi immettere il nome della cartella in cui archiviare le pagine per il sito Web. Digitare, ad esempio, il nome di cartella C:\WebSites. Scegliere OK. In Visual Studio verrà creato un progetto di sito Web che include solo un file Web.config.

Creazione di una pagina di test e di una classe
Per questa procedura dettagliata, sarà creata una pagina Web con alcuni controlli. Inoltre, verrà creato un file di classe da utilizzare nella pagina Web. La creazione di una pagina Web e di una classe separata consentono di visualizzare il processo di pubblicazione in fase di precompilazione del contenuto del sito Web. Per iniziare, si procede alla creazione di una nuova pagina, quindi all'aggiunta di un pulsante e di un'etichetta alla pagina. Per creare la pagina e aggiungere i controlliIn Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto di sito Web e scegliere Aggiungi nuovo elemento. In Modelli installati selezionare il linguaggio di programmazione preferito, quindi fare clic su Web Form. Nella casella Nome digitare SamplePage.aspx. Scegliere Aggiungi. Passare alla visualizzazione Progettazione. Dal gruppo Standard della Casella degli strumenti, trascinare un controllo Label nella pagina. Dal gruppo Standard nella Casella degli strumenti trascinare un controllo Button nella pagina e posizionarlo accanto al controllo Label.
Successivamente, sarà creato il codice sorgente per una classe semplice in cui è contenuta una singola proprietà. Sarà necessario utilizzare la classe nel codice per la pagina. Per creare una classeIn Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto di sito Web, scegliere Aggiungi cartella ASP.NET, quindi fare clic su App_Code. Una nuova cartella denominata App_Code verrà visualizzata nell'applicazione in Esplora soluzioni. La cartella App_Code è una cartella di applicazione ASP.NET riservata. Per ulteriori informazioni, vedere Struttura di cartelle dei progetti Web ASP.NET. Fare clic con il pulsante destro del mouse sulla cartella App_Code, quindi scegliere Aggiungi nuovo elemento. In Modelli installati fare clic sul linguaggio che si desidera utilizzare, quindi su Classe. Nella casella Nome digitare TestClass. Scegliere Aggiungi. In Visual Studio verrà creata una struttura di file di classe nel linguaggio di programmazione specificato. Creare una proprietà denominata TestProperty. Al termine, il file di classe completo dovrebbe risultare simile al seguente:
Imports Microsoft.VisualBasic
Public Class TestClass
Private TestPropertyValue As String
Public Property TestProperty() As String
Get
Return TestPropertyValue
End Get
Set(ByVal value As String)
TestPropertyValue = value
End Set
End Property
End Class
using System;
public class TestClass
{
public TestClass() { }
private string TestPropertyValue;
public string TestProperty
{
get{ return TestPropertyValue; }
set{ TestPropertyValue = value; }
}
}
È ora possibile utilizzare la classe nella pagina. Non è necessario compilare la classe prima di utilizzarlo. Per utilizzare la classe nella paginaAprire SamplePage.aspx e passare alla visualizzazione Progettazione. Fare doppio clic sul controllo Button per creare un gestore Click per tale controllo. Nel gestore Click, creare un'istanza del controllo TestClass creato nella procedura precedente, assegnare un valore alla proprietà TestProperty, quindi visualizzare il valore TestProperty nel controllo Label. Il codice completo risulterà simile al seguente:
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim testClass As New TestClass
testClass.TestProperty = "Hello"
Label1.Text = testClass.TestProperty
End Sub
protected void Button1_Click(object sender, EventArgs e)
{
TestClass testClass = new TestClass();
testClass.TestProperty = "Hello";
Label1.Text = testClass.TestProperty;
}
Verifica del sito WebPrima della pubblicazione del sito, è possibile eseguire il test per accertarsi del corretto funzionamento del sito. Per eseguire il test del sito WebAprire la pagina SamplePage.aspx. Premere CTRL+F5. La pagina viene visualizzata nel browser. Fare clic su Button e accertarsi che il testo sia visualizzato nel controllo Label. Chiudere il browser.

Pubblicazione del sito Web
È ora possibile pubblicare il sito Web creato. Il sito Web può essere pubblicato in qualsiasi percorso al quale è possibile accedere utilizzando qualsiasi protocollo di connessione supportato in Visual Studio. Per la copia del sito Web, utilizzare una delle opzioni riportate di seguito: Copia in una cartella nel computer locale. Utilizzo di una condivisione UNC per la copia in una cartella condivisa contenuta in un altro computer in rete. Utilizzo di FTP per la copia in un server. Utilizzo del protocollo HTTP per la copia in un server che supporta le estensioni server di FrontPage.
In questa parte della procedura dettagliata il sito Web verrà pubblicato in una cartella locale. Per pubblicare il sito WebScegliere Pubblica sito Web dal menu Compila. Viene visualizzata la finestra di dialogo Pubblica sito Web. Nella casella Percorso di destinazione immettere c:\CompiledSite. Attenzione |
|---|
Tutti i dati presenti nella cartella di destinazione e nelle relative sottocartelle saranno eliminati. |
Ai fini di questa procedura dettagliata, si esegue la pubblicazione in una cartella locale. Se si desidera pubblicare in un sito Web remoto utilizzando HTTP o FTP, la casella Percorso di destinazione si trova nel punto in cui viene specificato l'URL del server remoto. Deselezionare Consenti aggiornamento del sito precompilato. Questa opzione consente di specificare che tutto il codice del programma venga compilato in assembly, ma che le pagine e i controlli utente (file aspx, ascx e master) vengano copiati invariati nella cartella di destinazione e possano essere aggiornati come file di testo senza ricompilare il progetto. In questa procedura dettagliata, non sarà selezionata quell'opzione. Per informazioni dettagliate, vedere Cenni preliminari sulla distribuzione di progetti di sito Web ASP.NET. Scegliere OK. In Visual Studio il contenuto del sito Web viene precompilato e l'output viene scritto nella cartella specificata. Nella finestra Output sono visualizzati messaggi di stato. Se si verifica un errore in fase di compilazione, viene indicato nella finestra Output. Se si verificano errori in fase di pubblicazione, correggerli e ripetere questa procedura.
Analisi dell'output del comando Pubblica sito WebL'analisi dell'output del comando Pubblica sito Web consente la visualizzazione delle elaborazioni effettuate in Visual Studio con i file del sito Web. Per analizzare l'output del comando Pubblica sito WebIn Esplora risorse spostarsi nella cartella specificata come destinazione per il comando Pubblica sito Web. L'utilizzo di un editor di testo, ad esempio Blocco note, consente di aprire il file SamplePage.aspx. Nel file non è più presente il markup presente in origine. Invece, la pagina aspx rappresenta soltanto un segnaposto utilizzabile come parte di un URL. Passare alla cartella Bin. In questa cartella sono contenuti due tipi di file: i file compiled che corrispondono alle pagine. i file dll, in cui è contenuto il codice eseguibile per il sito Web, ad esempio il file di classe creato.
La pagina, il relativo codice e il file di classe separato creati sono stati tutti compilati in un codice eseguibile.

Test del sito Web pubblicato
È ora possibile procedere al test del sito Web pubblicato eseguendolo. Per eseguire il test del sito Web pubblicatoCreare una directory virtuale IIS che punti alla cartella di destinazione. Scegliere Esegui dal menu Start di Windows, quindi digitare inetmgr e scegliere OK. Verrà visualizzata la finestra di dialogo Gestione Internet Information Services (IIS). Nel riquadro Connessioni espandere il nome del server e Siti. Fare clic con il pulsante destro del mouse su Sito Web predefinito e selezionare Aggiungi directory virtuale. Verrà visualizzata la finestra di dialogo Aggiungi directory virtuale. Nella casella Alias immettere CompiledWebSite. Nella casella Percorso fisico immettere C:\CompiledWebSite. Scegliere OK. Nel riquadro Connessioni di Gestione IIS, fare clic con il pulsante destro del mouse sulla nuova directory virtuale e selezionare Converti in applicazione. Verrà visualizzata la finestra di dialogo Aggiungi applicazione. Scegliere OK.
Aprire il browser e digitare l'URL riportato di seguito: http://localhost/CompiledSite/SamplePage.aspx Viene visualizzata la pagina SamplePage.aspx. Tuttavia, in questa fase, viene visualizzata la versione della pagina creata dallo strumento di precompilazione per la distribuzione.

Passaggi successivi
In questa procedura dettagliata è stata illustrata la procedura di base per la pubblicazione di un sito Web precompilato. Di seguito sono riportati alcuni suggerimenti per ulteriori esplorazioni:

Vedere anche
|