Condividi tramite


Conversione dei file di progetti e soluzioni Web

Aggiornamento: novembre 2007

Visual Studio 2005 consente di modificare il modello di progetto Web in molti modi. Ad esempio, non è più necessario un file di progetto in quanto tutti i file della cartella dell'applicazione Web sono considerati parte del progetto Web.

Il nuovo modello di progetto Web influisce sulla conversione di file quali le pagine Web Form ASP.NET (file aspx), i controlli utente ASP.NET (file asxc), il file Global.asax e il file Web.config. Le modifiche esatte apportate a questi file dipendono dal linguaggio di programmazione del progetto di cui si sta effettuando la conversione.

Visual Studio 2005 consente di modificare il modello code-behind in modo che vengano utilizzate le classi parziali mediante le quali è possibile estendere una classe su più file. Nel modello code-behind precedente, il file aspx ereditava da un file di classe compilato creato dal file di codice sottostante corrispondente (aspx.vb o aspx.cs). Nel nuovo modello code-behind, il file aspx eredita da una classe compilata formata dal file aspx.vb o aspx.cs nonché da un file stub generato dal file aspx e in cui vengono definite le dichiarazioni di campo per i controlli utilizzati nel file aspx. Tale modifica consente di distinguere il codice generato automaticamente da quello generato dall'utente. I controlli utente (ascx) e i file di codice sottostante per i controlli utente vengono considerati in modo simile. Per ulteriori informazioni sul modello code-behind, vedere Modello di codice di pagine Web ASP.NET.

Visual Studio 2005 consente di modificare il modello di compilazione dalla produzione di un unico assembly alla produzione di molti assembly. Ogni pagina Web ASP.NET e ogni controllo utente può essere compilato in un assembly specifico. Tale modifica consente ulteriori scenari di distribuzione, quali la pubblicazione di un codice sorgente specifico nel server e la possibilità di compilare in modo dinamico parti dell'applicazione Web, se necessario.

File code-behind

Nella conversione al nuovo modello code-behind ASP.NET versione 2.0, alle pagine Web ASP.NET e ai controlli utente vengono apportate le seguenti modifiche:

  • L'attributo CodeBehind della direttiva @ Page viene modificato in un attributo CodeFile.

  • Alla direttiva @ Page viene aggiunto un attributo Inherits che punta al file di classe della compilazione.

  • Vengono modificate tutte le definizioni delle classi code-behind per implementare la parola chiave Partial.

  • Le dichiarazioni dei membri per i controlli utente vengono rimosse dalla pagina di codice sottostante. Nel modello di compilazione, le istanze dei controlli utente vengono create automaticamente dal codice dichiarativo.

  • Gli eventi vengono associati ai controlli mediante la sintassi dichiarativa. Ad esempio, l'evento Click di un controllo Button è associato al controllo mediante l'aggiunta di un attributo OnClick all'elemento asp:button nel codice dichiarativo. I delegati e la parola chiave Handles di Visual Basic presenti all'interno dei metodi vengono rimossi. I delegati dei membri che non sono rappresentati nel codice dichiarativo, ad esempio i delegati per i controlli creati in modo dinamico, non vengono rimossi.

  • Le dichiarazione dei membri nei file di classe (ma non nelle classi di pagine) che sono contrassegnate come Friend o Internal vengono modificate in Public.

  • I punti di interruzione del debugger non vengono convertiti e non verranno visualizzati nei file convertiti.

    Nota:

    Se in una pagina Web o in un controllo utente non è presente un attributo CodeBehind all'interno della direttiva @ Page, la conversione non sarà eseguita. Allo stesso modo, le pagine Web o i controlli in cui è presente un attributo Src vengono lasciati invariati.

File di codice autonomi

Ai file di codice autonomi vengono apportate le seguenti modifiche:

  • I file di codice autonomi vengono spostati nella directory App_Code.

  • Le dichiarazioni dei membri contrassegnati come Friend o Internal vengono modificate in Public. Questa modifica è necessaria in quanto, con più assembly, il livello di accesso deve essere tale che i membri siano visibili dagli assembly diversi da quello contenente il file di codice autonomo compilato.

  • Le chiamate al metodo Type.GetType vengono modificate in modo da utilizzare il metodo BuildManager.GetType. Il metodo BuildManager.GetType trova i tipi all'interno degli assembly di primo livello.

  • I punti di interruzione del debugger non vengono convertiti e non verranno visualizzati nei file convertiti.

Impostazioni della finestra di progettazione

Le impostazioni in una pagina relativa alla finestra di progettazione vengono gestite in modo diverso durante la conversione:

  • L'attributo MS_POSITIONING (layout di flusso o layout di griglia) non viene spostato e in Visual Studio viene conservata questa impostazione insieme agli attributi di posizionamento assoluto dei singoli controlli. Tuttavia, per impostazione predefinita, nelle nuove pagine di Visual Studio verrà utilizzato il layout di flusso e non sarà incluso l'attributo MS_POSITIONING.

  • Il tag <meta> relativo al linguaggio di script client predefinito viene lasciato invariato.

File Global.asax

Quando il file Global.asax viene convertito, il relativo file code-behind viene spostato nella directory App_Code. Mediante il processo di conversione vengono apportate le seguenti modifiche:

  • Gli attributi CodeBehind e Inherits vengono rimossi dalla direttiva @ Application — Global.asax.

  • Alla direttiva @ Page viene aggiunto un attributo Language, se non ne è stato già specificato uno.

  • Per Visual Basic, al file di classe viene aggiunta un'istruzione Namespace. Lo spazio dei nomi viene definito mediante lo spazio dei nomi di primo livello del progetto Web.

File Web.config

In Visual Studio 2005, il file Web.config supporta una gamma più ampia di elementi rispetto a Visual Studio .NET. Ad esempio, le impostazioni di progetto che ancora si applicano a Visual Studio spesso vengono convertite nel file Web.config. Per informazioni dettagliate, vedere Conversione delle impostazioni di progetti Web.

Vedere anche

Concetti

Conversione di progetti Web da Visual Studio .NET

Conversione delle impostazioni di progetti Web

Altre risorse

Sintassi di Global.asax

Impostazioni di configurazione di ASP.NET

File di configurazione ASP.NET

Sintassi di Global.asax