Condividi tramite


.Scelta della versione di NET Framework per i siti Web

Aggiornamento: novembre 2007

La funzionalità di multitargeting di Visual Studio 2008 consente di specificare la versione di .NET Framework di destinazione per il sito Web o servizio Web. È possibile utilizzare Visual Studio 2008 per modificare progetti Web di Visual Studio 2008 nuovi o esistenti senza creare in modo non intenzionale nuove dipendenze di assembly nei progetti stessi. Visual Studio 2008 consente di compilare un sito Web che può essere distribuito in .NET Framework 2.0, .NET Framework versione 3.0 o .NET Framework 3.5 Service Pack 1. Il progetto utilizzerà soltanto le funzionalità disponibili nella versione di .NET Framework appositamente specificata.

In questo argomento sono presenti informazioni su:

Scenari

Il multitargeting in Visual Studio 2008 consente di destinare un sito Web a una versione specifica di .NET Framework. Ad esempio, è possibile creare un'applicazione Web ASP.NET che utilizza le funzionalità di sicurezza supportate da Windows Communication Foundation (WCF). Se l'applicazione non richiede un supporto per LINQ (Language-Integrated Query), è possibile scegliere .NET Framework versione 3.0 come destinazione.

Torna all'inizio

Funzionalità di multitargeting

Le funzionalità di multitargeting di Visual Studio 2008 includono quanto segue:

  • È possibile selezionare la versione di .NET Framework durante la creazione di un nuovo sito Web.

  • Visual Studio è in grado di rilevare la versione di .NET Framework all'apertura di un sito Web.

    Quando rileva che un sito Web utilizza .NET Framework versione 2.0, Visual Studio offre la possibilità di scegliere .NET Framework 3.5 Service Pack 1 come destinazione.

  • Visual Studio esclude le funzionalità che non vengono applicate alla versione di .NET Framework di destinazione corrente. Tali funzionalità includono opzioni di menu, oggetti della Casella degli strumenti, processi di compilazione e riferimenti agli assembly.

  • È possibile utilizzare le proprietà del progetto per selezionare una versione di .NET Framework di destinazione.

.Librerie di .NET Framework

Visual Studio consente di scegliere le seguenti versioni di .NET Framework come destinazione:

  • .NET Framework versione 2.0 Versione di .NET Framework inclusa con Microsoft Visual Studio 2005.

  • **.NET Framework versione 3.0 **Versione di .NET Framework inclusa con il sistema operativo . Questa versione di .NET Framework include il supporto per Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows CardSpace e Windows Workflow Foundation.

  • **.NET Framework versione 3.5 **Versione di .NET Framework inclusa per impostazione predefinita con Visual Studio. Questa versione di .NET Framework include il supporto per ASP.NET AJAX e Language Integrated Query (LINQ).

Torna all'inizio

Background

Visual Studio 2008 consente di scegliere come destinazione più versioni di .NET Framework da un unico ambiente di sviluppo. Visual Studio 2005 e le versioni precedenti sceglievano un'unica versione di .NET Framework. Per scrivere applicazioni per versioni diverse di .NET Framework, gli sviluppatori erano costretti a eseguire versioni affiancate di Visual Studio. Le dipendenze di runtime e la compatibilità con versioni precedenti erano le principali considerazioni relative al multitargeting.

In Visual Studio 2008, è possibile aprire un sito Web di Visual Studio 2005 senza alcuna necessità di modificare il codice. Tuttavia, il file di progetto per il sito Web verrà aggiornato. Per impostazione predefinita, i progetti di Visual Studio 2005 saranno sempre destinati a .NET Framework 2.0. È possibile tuttavia modificare la versione del framework di destinazione per fare in modo che un progetto esistente sfrutti le nuove funzionalità di una versione più recente di .NET Framework.

Le funzionalità di .NET Framework più recenti sono incluse nei nuovi assembly. Gli assembly delle versioni precedenti di .NET Framework non vengono modificati.

Creazione di un nuovo sito Web

Quando si crea un nuovo sito Web, è possibile specificare la versione di .NET Framework di destinazione per il progetto. I nuovi progetti di Visual Studio vengono automaticamente destinati alla versione più recente di .NET Framework.

Nella procedura riportata di seguito viene descritto come creare un nuovo sito Web destinato a una versione di .NET Framework specificata.

Per creare un nuovo sito Web e specificare la destinazione .NET Framework

  1. In Visual Studio, scegliere Nuovo sito Web dal menu File.

    Viene visualizzata la finestra di dialogo Nuovo sito Web.

  2. Dall'elenco di versioni del framework, selezionare la versione di .NET Framework di destinazione per il progetto.

    L'elenco di modelli visualizzato nella finestra di dialogo viene filtrato in base al framework selezionato.

  3. In Modelli Visual Studio installati selezionare un tipo di sito Web, ad esempio Sito Web ASP.NET.

  4. Scegliere OK.

Apertura di un sito Web di Visual Studio 2005 esistente

Visual Studio 2008 consente di aprire progetti o siti Web creati in versioni precedenti di Visual Studio senza aggiornare i progetti a una versione più recente di .NET Framework. I progetti di Visual Studio 2005 possono essere modificati, compilati, sottoposti a debug e salvati.

È possibile aprire un progetto di Visual Studio 2005 esistente senza destinarlo a una versione di .NET Framework più recente. Alla prima apertura dell'applicazione Web in Visual Studio 2008, verrà richiesto di destinare il sito Web a .NET Framework 3.5 Service Pack 1. Per mantenere invariato il framework di destinazione, scegliere No.

Nota:

Quando si apre un sito Web remoto, Visual Studio 2008 non tenta di filtrare le versioni disponibili secondo le versioni di .NET Framework installate sul server remoto.

Aggiornamento o downgrade della versione di .NET Framework di destinazione per un sito Web esistente

Nella procedura riportata di seguito viene descritto come modificare la versione di .NET Framework in modo tale che un progetto esistente venga destinato a una versione precedente o più recente.

L'aggiornamento a una versione più recente di .NET Framework consente di sfruttare le nuove funzionalità. Il downgrade di un'applicazione Web a una versione di .NET Framework diversa consente di scegliere come destinazione la versione di .NET Framework installata su un server Web diverso.

In caso di downgrade di un progetto, occorre accertarsi che il progetto funzioni con la versione precedente di .NET Framework. A tal proposito, sarà spesso necessario apportare modifiche manuali nel progetto.

Nota:

Oltre alle diverse funzionalità disponibili per ciascuna versione di .NET Framework, le differenze principali in caso di modifica della versione di .NET Framework di un'applicazione Web risiedono nel file Web.config.

Per aggiornare o sottoporre a downgrade la versione di .NET Framework per un sito Web

  1. In Visual Studio 2008, aprire il sito Web da aggiornare o sottoporre a downgrade.

  2. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul nome del progetto, quindi scegliere Pagine delle proprietà.

    Nota:

    Per i progetti di applicazioni Web, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni, quindi scegliere Proprietà.

  3. Nella pagina Proprietà progetto, scegliere la scheda Compila.

    Nota:

    Per i progetti di applicazioni Web che utilizzano C#, fare clic sulla scheda Applicazione della pagina Proprietà progetto. Per i progetti di applicazioni Web che utilizzano Visual Basic, fare clic sulla scheda Compilatore della pagina Proprietà progetto, quindi su Impostazioni del compilatore avanzate.

  4. Nell'elenco a discesa di .NET Framework selezionare un numero di versione di destinazione.

    Nota:

    Per i progetti di applicazioni Web, il progetto viene scaricato e quindi ricaricato in Visual Studio.

  5. Se è stato effettuato il downgrade di un progetto, procedere come segue:

    1. Rimuovere manualmente i riferimenti a componenti che non appartengono alla versione di .NET Framework di destinazione.

      Nota:

      È possibile che il codice riporti errori di riferimento dovuti ai riferimenti agli assembly non più funzionanti con la versione di .NET Framework precedente. In tal caso, è necessario sostituire manualmente i riferimenti agli assembly mancanti.

    2. Se il progetto contiene riferimenti ai servizi, fare clic con il pulsante destro del mouse su ogni singolo riferimento, quindi scegliere Rimuovi.

Riferimenti agli assembly

Visual Studio consente di aggiungere riferimenti ai progetti Web senza eseguire alcun aggiornamento automatico a una versione di .NET Framework diversa.

Quando si aggiunge un riferimento a un assembly, la finestra di dialogo Aggiungi riferimento visualizza soltanto gli assembly di sistema appartenenti alla versione di .NET Framework di destinazione. In questo modo non sarà possibile aggiungere in modo non intenzionale riferimenti ad assembly che non appartengono al framework di destinazione.

Nota:

È possibile modificare manualmente il file di progetto per includere riferimenti appartenenti a una destinazione .NET Framework più recente rispetto a quella del progetto corrente. Così facendo, tuttavia, alcuni avvisi saranno generati in fase di compilazione.

È possibile aggiungere al progetto un riferimento a un assembly utente che a sua volta faccia riferimento ad assembly di sistema che non appartengono al framework di destinazione. In tal caso, Visual Studio visualizza un avviso. Se l'avviso viene ignorato, sarà nuovamente visualizzato in fase di compilazione.

Torna all'inizio

Differenze tra progetti nella scelta della versione di .NET Framework

In questa sezione vengono illustrate le differenze tra progetti Web destinati a versioni diverse di .NET Framework. Le differenze includono la compilazione, il supporto dell'assembly e il supporto delle funzionalità. Alcune funzionalità in Visual Studio non includono il supporto per il multitargeting, ad esempio IntelliSense e la distribuzione.

Per i nuovi siti Web, la versione di .NET Framework selezionata determina quanto segue:

  • Gli assembly di riferimento per impostazione predefinita.

  • Gli spazi dei nomi inclusi per impostazione predefinita nelle pagine Web ASP.NET e nei file della classe.

  • La versione del compilatore utilizzata da ASP.NET in fase di esecuzione e in fase di progettazione per la compilazione dinamica.

  • Le opzioni selezionabili in Visual Studio, ad esempio gli oggetti, i nuovi elementi, i riferimenti agli assembly, i riferimenti Web e i riferimenti ai servizi.

Quando si apre un sito Web esistente, Visual Studio tenta di rilevare la versione di .NET Framework e imposta la versione di .NET Framework di destinazione per i progetti. Visual Studio determina la versione di .NET Framework utilizzando i seguenti criteri:

  • Se esistono riferimenti agli assembly di .NET Framework 3.0, il progetto Web viene destinato a .NET Framework 3.0. Considerate altre condizioni, il progetto può essere destinato a una versione più recente.

  • Se una sezione compilers nel file Web.config viene mappata a una versione del compilatore "v3.5" per C# o per Visual Basic, il sito Web viene destinato a .NET Framework 3.5.

  • Se esistono riferimenti agli assembly di .NET Framework 3.5, il sito Web viene destinato a .NET Framework 3.5.

  • Se il sito Web non soddisfa le condizioni precedenti, viene destinato a .NET Framework versione 2.0.

    Nota:

    Se il progetto è stato precedentemente aperto o è stato creato da Visual Studio, il numero della versione di destinazione sarà già archiviato nel progetto. In tal caso, Visual Studio utilizza il numero di versione archiviato. Non tenta di rilevare una mancata corrispondenza tra il numero di versione archiviato e la versione rilevata dai riferimenti e dai compilatori.

Selezione di un modello di progetto

Visual Studio visualizza solo i modelli di progetto applicati alla versione di .NET Framework di destinazione corrente. Quando si crea un nuovo sito Web, Visual Studio sceglie automaticamente il numero di versione più alto di .NET Framework, in modo tale da garantire l'accesso alle funzionalità più recenti. In alternativa, è possibile selezionare una versione di destinazione durante la creazione del progetto.

Il contenuto predefinito del file Web.config per un nuovo sito Web si basa sulla versione di .NET Framework selezionata. Gli assembly di riferimento predefiniti sono specificati nella sezione assemblies, mentre la versione del compilatore è specificata nella sezione compilers.

Aggiunta di oggetti dalla Casella degli strumenti

Visual Studio disattiva gli elementi nella Casella degli strumenti che non vengono applicati alla versione di .NET Framework di destinazione corrente. Il comportamento di multitargeting della Casella degli strumenti presuppone che i componenti per una versione specifica di .NET Framework possano essere utilizzati nei progetti per quella versione o per versioni più recenti. Ad esempio, i controlli di .NET Framework 2.0 possono essere utilizzati in .NET Framework 2.0, .NET Framework versione 3.0 o .NET Framework 3.5 Service Pack 1.

Aggiunta di nuovi elementi

Visual Studio filtra gli elementi visualizzati nella finestra di dialogo Aggiungi nuovo elemento in base alla versione di destinazione corrente di .NET Framework.

Nota:

Se si aggiunge un elemento esistente a un progetto, Visual Studio non verifica che i riferimenti e le importazioni per il suddetto elemento corrispondano alla versione di destinazione corrente di .NET Framework. Non viene generato alcun avviso. Tuttavia, se tali riferimenti non possono essere risolti nel progetto, un errore verrà visualizzato al momento della compilazione ed esecuzione del progetto stesso.

Aggiunta di riferimenti agli assembly

Quando si apre la finestra di dialogo Aggiungi riferimento, Visual Studio controlla la versione di .NET Framework di destinazione corrente ed enumera solo gli assembly disponibili per quella versione. Gli assembly di un framework di destinazione più recente vengono visualizzati ma sono disattivati.

Il titolo della finestra di dialogo Aggiungi riferimento include la versione di destinazione di .NET Framework corrente. Poiché la finestra di dialogo visualizza la versione del framework di ciascun assembly, è possibile determinare la versione di .NET Framework necessaria per aggiungere il riferimento. La finestra di dialogo Aggiungi riferimento visualizza anche le informazioni sull'assembly come descrizione comandi quando si tiene il puntatore del mouse su un assembly non disponibile.

Nota:

Se si aggiunge manualmente un riferimento del sistema, ovvero senza utilizzare la finestra di dialogo Aggiungi riferimento, questo non verrà controllato da Visual Studio. In fase di progettazione o compilazione potranno quindi comparire avvisi che indicano che il riferimento all'assembly non appartiene alla versione di .NET Framework di destinazione corrente.

Aggiunta di riferimenti ai servizi

La finestra di dialogo Aggiungi riferimento al servizio è disponibile solo nei siti Web destinati a .NET Framework 3.5 e nei progetti di applicazioni Web destinati a .NET Framework 3.0 o .NET Framework 3.5. Per aggiungere un riferimento al servizio in un sito Web destinato a .NET Framework 3.0, sarà necessario aggiungerlo a un progetto Libreria di classi. Sarà quindi possibile fare riferimento al progetto Libreria di classi dal progetto del sito Web.

Nota:

Le librerie di classi non possono essere aggiunte a un progetto in Visual Web Developer.

Utilizzo di IntelliSense

I servizi di linguaggio in Visual Studio 2008 non sono destinati a versioni specifiche di .NET Framework. Pertanto, l'editor fornisce sempre IntelliSense per le versioni più recenti di C# e Visual Basic.

I progetti Web visualizzano IntelliSense per tutte le versioni di .NET Framework, indipendentemente dalla versione del framework scelta come destinazione per il progetto. Quando si sceglie .NET Framework versione 2.0 o .NET Framework 3.0, qualsiasi codice che faccia riferimento alle funzionalità di .NET Framework versione 3.5 genera errori del compilatore.

IntelliSense JScript è indipendente dalla versione di .NET Framework scelta come destinazione per il progetto.

Distribuzione di un progetto

Gli strumenti Web Pubblica e Copia in Visual Studio 2008 non vengono destinati a versioni di .NET Framework specifiche. Visual Studio non verifica la versione di .NET Framework in esecuzione su un server remoto. Questi strumenti non sono in grado di notificare se un progetto viene pubblicato in un server di destinazione contenente una versione di .NET Framework precedente a quella scelta come destinazione per il progetto. In tal caso, un progetto destinato a una versione di .NET Framework più recente non verrà eseguito.

Torna all'inizio

Vedere anche

Concetti

Novità di ASP.NET e dello sviluppo Web

Riferimenti

Torna all'inizio

Altre risorse

Scelta di una versione specifica di .NET Framework