Procedura: Eseguire la migrazione e la pubblicazione di un'applicazione Web in un servizio cloud di Azure da Visual StudioHow to: Migrate and Publish a Web Application to an Azure Cloud Service from Visual Studio

Per sfruttare i servizi di hosting e scalabilità di Azure, è possibile eseguire la migrazione e la distribuzione dell'applicazione Web in un servizio cloud di Azure.To take advantage of the hosting services and scaling ability of Azure, you might want to migrate and deploy your web application to an Azure cloud service. Sono necessarie solo modifiche minime al codice.Only minimal changes are required. Questo articolo illustra solo la procedura di distribuzione in un servizio cloud; per il Servizio app, vedere Distribuire un'app Web nel Servizio app di Azure.This article covers deploying to cloud services only; for App Service, see Deploy a web app in Azure App Service.

Importante

Questa migrazione è supportata solo per specifici progetti ASP.NET, Silverlight, WCF e di flusso di lavoro WCF.This migration is supported only for the specific ASP.NET, Silverlight, WCF, and WCF Workflow projects. Non è supportata per progetti ASP.NET Core.It is not supported for ASP.NET Core projects. Vedere Modelli di progetto supportati.See Supported Project Templates.

Migrare un progetto in un servizio cloudMigrate a project to cloud services

  1. Fare clic con il pulsante destro del mouse sul progetto di applicazione Web e selezionare Converti > Converti in progetto servizio cloud di Microsoft Azure.Right-click the web application project and select Convert > Convert to Microsoft Azure Cloud Service Project. Questo comando non viene visualizzato se nella soluzione è già presente un progetto di ruolo Web.(That this command does not appear if you already have a web role project in the solution.)
  2. Visual Studio crea un progetto di servizio cloud nella soluzione contente il ruolo Web richiesto.Visual Studio creates a cloud service project in the solution that contains the required web role. Il nome del progetto corrisponde al nome del progetto di applicazione, con l'aggiunta del suffisso .Azure.The name of this project is the same as your application project with plus the suffix .Azure.
  3. Visual Studio imposta anche la proprietà Copia localmente su true per qualsiasi assembly necessario per MVC 2, MVC 3, MVC 4 e applicazioni aziendali di Silverlight.Visual Studio also sets the Copy Local property to true for any assemblies that are required for MVC 2, MVC 3, MVC 4, and Silverlight Business Applications. In questo modo gli assembly vengono aggiunti al pacchetto del servizio usato per la distribuzione.This property adds these assemblies to the service package that is used for deployment.

    Importante

    Se si dispone di altri assembly o file necessari per l'applicazione Web, è necessario impostare manualmente le proprietà di questi file.If you have other assemblies or files that are required for this web application, you must manually set the properties for these files. Per informazioni su come impostare queste proprietà, vedere Includere file nel pacchetto del servizio.For information about how to set these properties, see Include Files in the Service Package.

Errori e avvisiErrors and warnings

Eventuali avvisi o errori visualizzati indicano problemi da risolvere prima di eseguire la distribuzione in Azure, ad esempio assembly mancanti.Any warnings or errors that occur indicate issues to fix before deploying to Azure, such as missing assemblies.

Se si compila l'applicazione, la si esegue in locale con l'emulatore di calcolo o la si pubblica in Azure, è possibile che venga visualizzato l'errore "Il percorso e/o il nome file specificato è troppo lungo".If you build your application, run it locally using the compute emulator, or publish it to Azure, you might see the error: "The specified path, file name, or both are too long." Questo errore indica che la lunghezza del nome completo del progetto di Azure è superiore a 146 caratteri.This error indicates that length of the fully qualified Azure project name exceeds 146 characters. Per correggere il problema, spostare la soluzione in una cartella diversa con un percorso più breve.To correct the issue, move your solution to a different folder with a shorter path.

Per altre informazioni su come gestire eventuali avvisi come errori, vedere Configurare un progetto di servizio cloud di Azure con Visual Studio.For more information about how to treat any warnings as errors, see Configure an Azure Cloud Service Project with Visual Studio.

Testare la migrazione in localeTest the migration locally

  1. In Esplora soluzioni di Visual Studio fare clic con il pulsante destro del mouse sul progetto di servizio cloud aggiunto e selezionare Imposta come progetto di avvio.In Visual Studio Solution Explorer, right-click the added cloud service project and select Set as Startup Project.
  2. Selezionare Debug > Avvia debug (F5) per avviare l'ambiente di debug di Azure.Select Debug > Start Debugging (F5) to launch the Azure debugging environment. Questo ambiente consente, nello specifico, l'emulazione di vari servizi di Azure.This environment specifically provides emulation of various Azure services.

Usare un database SQL di Azure per l'applicazioneUse an Azure SQL Database for your application

Se si ha una stringa di connessione per l'applicazione Web che usa un database SQL Server locale, è necessario eseguire la migrazione del database al database SQL di Azure e aggiornare la stringa di connessione.If you have a connection string for your web application that uses an on-premises SQL Server database, you must migrate your database to Azure SQL Database instead and update your connection string. Per istruzioni su questo processo, vedere gli argomenti seguenti:For guidance with this process, refer to the following topics:

Pubblicare l'applicazione in un servizio cloud di AzurePublish the application to Azure Cloud Service

  1. Creare gli account di archiviazione e dei servizi cloud necessari nella sottoscrizione di Azure, come descritto in Preparare la pubblicazione o la distribuzione di un'applicazione di Azure da Visual Studio.Create the necessary cloud service and storage accounts in your Azure subscription as described on Prepare to publish or deploy an Azure application from Visual Studio.
  2. In Visual Studio fare clic con il pulsante destro del mouse sul progetto di applicazione e selezionare Pubblica in Microsoft Azure... (diverso dal comando "Pubblica...").In Visual Studio, right-click the application project and select Publish to Microsoft Azure... (which is different from the "Publish..." command.).
  3. Nella finestra Pubblica applicazione Azure visualizzata, accedere usando l'account con la sottoscrizione di Azure e scegliere Avanti >.In the Publish Azure Application that appears, sign in using the account with your Azure subscription and select Next >.
  4. Nella scheda Impostazioni > Impostazioni comuni selezionare il servizio cloud di destinazione dall'elenco a discesa Servizio cloud, insieme all'ambiente e alle configurazioni selezionate.In the Settings > Common Settings tab, select the target cloud service from the Cloud Service drop-down list, along with your chosen environment and configurations.
  5. In Impostazioni > Impostazioni avanzate selezionare l'account di archiviazione da usare e quindi scegliere Avanti >.In Settings > Advanced Settings, select the storage account to use, then select Next >.
  6. In Diagnostica decidere se si vuole inviare informazioni ad Application Insights.In Diagnostics, choose whether to send information to Application Insights.
  7. Selezionare Avanti > per visualizzare un riepilogo e quindi selezionare Pubblica per avviare la distribuzione.Select Next > to view a summary, then select Publish to start deployment.
  8. Visual Studio apre una finestra Log attività in cui è possibile monitorare lo stato di avanzamento del processo:Visual Studio opens an activity log window where you can track progress:

    VST_AzureActivityLog

  9. (Facoltativo) Per annullare il processo di distribuzione, fare clic con il pulsante destro del mouse sulla voce del log attività e scegliere Annulla e rimuovi.(Optional) To cancel the deployment process, right-click the line item in the activity log and choose Cancel and remove. Questo comando arresta il processo di distribuzione ed elimina l'ambiente di distribuzione da Azure.This command stops the deployment process and deletes the deployment environment from Azure. Nota: per rimuovere questo ambiente di distribuzione dopo che è stato distribuito, è necessario usare il portale di Azure.Note: to remove this deployment environment after it has been deployed, you must use the Azure portal.

  10. (Facoltativo) Dopo l'avvio delle istanze del ruolo, Visual Studio mostra automaticamente l'ambiente di distribuzione nel nodo Esplora server > Servizi cloud.(Optional) After your role instances have started, Visual Studio automatically shows the deployment environment in the Server Explorer > Cloud Services node. Da qui è possibile visualizzare lo stato delle singole istanze del ruolo.From here you can view the status of the individual role instances.
  11. Per accedere all'applicazione dopo la distribuzione, scegliere la freccia accanto alla distribuzione quando nel Log attività di Azure viene visualizzato lo stato Completato insieme all'URL.To access your application after deployment, choose the arrow next to your deployment when a status of Completed appears in the Azure Activity log along with the URL. Vedere la tabella seguente per informazioni dettagliate su come avviare un tipo specifico di applicazione Web da Azure.See the following table for the details about how to start a specific type of web application from Azure.

Utilizzo dell'emulatore di calcolo e avvio dell'applicazione in AzureUsing the compute emulator and starting application in Azure

Tutti i tipi di applicazione possono essere avviati in un browser connesso al debugger di Visual Studio selezionando Debug > Avvia debug (F5).All application types can be started in a browser connected to the Visual Studio debugger by selecting Debug > Start Debugging (F5). Con un progetto di applicazione Web ASP.NET vuota, è necessario prima aggiungere una pagina .aspx nell'applicazione e impostarla come pagina iniziale del progetto Web.With an ASP.NET Empty Web Application project, you must first add an .aspx page in your application and set it as the start page for your web project.

La tabella seguente fornisce informazioni dettagliate sull'avvio dell'applicazione in Azure:The following table provides details about starting the application in Azure:

Tipo di applicazione WebWeb Application Type Esecuzione in AzureRunning in Azure
Applicazione Web ASP.NETASP.NET Web Application
(inclusi MVC 2, MVC 3, MVC 4)(including MVC 2, MVC 3, MVC 4)
Nella scheda Distribuzione selezionare l'URL per Log attività di Azure.Select the URL in the Deployment tab for the Azure Activity log.
Applicazione Web ASP.NET vuotaASP.NET Empty Web Application Se si ha una pagina .aspx predefinita nell'applicazione, nella scheda Distribuzione selezionare l'URL per Log attività di Azure.If you have a default .aspx page in your application, select the URL in the Deployment tab for the Azure Activity log. Per passare a una pagina diversa, in un browser immettere un URL nel formato seguente: <deployment_url>/<page_name>.aspxTo navigate to a different page, enter a URL of the following form in a browser: <deployment_url>/<page_name>.aspx
Applicazione SilverlightSilverlight Application
Applicazione aziendale di SilverlightSilverlight Business Application
Applicazione di navigazione SilverlightSilverlight Navigation Application
Passare alla pagina specifica dell'applicazione usando il formato di URL seguente: <deployment_url>/<page_name>.aspxNavigate to the specific page for your application using the following URL form: <deployment_url>/<page_name>.aspx
Applicazione di servizio WCFWCF Service Application
Applicazione di servizio del flusso di lavoro WCFWCF Workflow Service Application
Impostare il file .svc come pagina iniziale del progetto di servizio WCF.Set the .svc file as the start page for your WCF Service project. Passare a <deployment_url>/<service_file>.svcThen navigate to <deployment_url>/<service_file>.svc
Entità dinamiche ASP.NETASP.NET Dynamic Entities
Linq ASP.NET Dynamic Data a SQLASP.NET Dynamic Data Linq to SQL
Aggiornare la stringa di connessione, come descritto nella sezione seguente.Update the connection string as described in the next section. Passare quindi a <deployment_url>/<page_name>.aspx.Then navigate to <deployment_url>/<page_name>.aspx. Per Linq to SQL è necessario usare un database SQL di Azure.For Linq to SQL, you must use an Azure SQL database.

Aggiornamento di una stringa di connessione per entità dinamiche ASP.NETUpdate a Connection String for ASP.NET Dynamic Entities

  1. Creare un database SQL di Azure per un'applicazione Web di entità dinamiche ASP.NET, come descritto in precedenza in (#use-an-azuresql-database-for-your-application).Create a SQL Azure database for a ASP.NET Dynamic Entities web application as described earlier in (#use-an-azuresql-database-for-your-application).
  2. Aggiungere le tabelle e i campi necessari per il database dal portale di Azure.Add the tables and fields that you need for this database from the Azure portal.
  3. Specificare una stringa di connessione nel file web.config con il formato seguente e salvare il file:Specify a connection string in the web.config file with the following format and save the file:

    <addname="tempdbEntities"connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=<server name>\SQLEXPRESS;initial catalog=<database name>;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;"providerName="System.Data.EntityClient"/>
    

    Aggiornare il valore connectionString con la stringa di connessione ADO.NET per il database SQL Azure, come indicato di seguito:Update the connectionString value with the ADO.NET connection string for your SQL Azure database as follows:

    XMLCopy<addname="tempdbEntities"connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:<SQL Azure server name>.database.windows.net,1433;Database=<database name>;User ID=<user name>;Password=<password>;Trusted_Connection=False;Encrypt=True;multipleactiveresultsets=True;App=EntityFramework&quot;"providerName="System.Data.EntityClient"/>
    

Modelli di progetto supportatiSupported Project Templates

Le applicazioni che possono essere migrate e pubblicate in servizi cloud devono usare uno dei modelli presenti nella tabella seguente.Applications that can be migrated and published to cloud services must use one of the templates in the table below. ASP.NET Core non è supportato.ASP.NET Core is not supported.

Gruppo di modelliTemplate Group Modello di progettoProject Template
WebWeb Applicazione Web ASP.NET (.NET Framework)ASP.NET Web Application (.NET Framework)
WebWeb Applicazione Web ASP.NET MVC 2ASP.NET MVC 2 Web Application
WebWeb Applicazione Web ASP.NET MVC 3ASP.NET MVC 3 Web Application
WebWeb Applicazione Web ASP.NET MVC4ASP.NET MVC4 Web Application
WebWeb Applicazione Web ASP.NET vuota (o Sito)ASP.NET Empty Web Application (or Site)
WebWeb Applicazione Web vuota ASP.NET MVC 2ASP.NET MVC 2 Empty Web Application
WebWeb Applicazione Web entità ASP.NET Dynamic DataASP.NET Dynamic Data Entities Web Application
WebWeb Applicazione Web Linq ASP.NET Dynamic Data a SQLASP.NET Dynamic Data Linq to SQL Web Application
SilverlightSilverlight Applicazione SilverlightSilverlight Application
SilverlightSilverlight Applicazione aziendale di SilverlightSilverlight Business Application
SilverlightSilverlight Applicazione di navigazione SilverlightSilverlight Navigation Application
WCFWCF Applicazione di servizio WCFWCF Service Application
WCFWCF Applicazione di servizio del flusso di lavoro WCFWCF Workflow Service Application
Flusso di lavoroWorkflow Applicazione di servizio del flusso di lavoro WCFWCF Workflow Service Application

Passaggi successiviNext steps