Come determinare le versioni di .NET Framework installate (it-IT)
Questo argomento è un how to. Si prega di mantenerlo chiaro e semplice per quanto possibile. Evitare discussioni speculative, come pure un esame in profondità dei meccanismi sottostanti o delle tecnologie correlate. |
Introduzione
E' possibile installare ed eseguire molteplici versioni di .NET Framework su computer ed ogni versione può essere installata in qualsiasi ordine.
A partire da Windows XP, il sistema operativo è provvisto di una versione di .NET Framework installata e pronta per l'uso; l'utente può installare una versione più recente per ottenere tutti i vantaggi disponibili con le nuove librerie di classi e spazi dei nomi forniti dalle versioni più recenti di .NET Framework.
La cartella Microsoft.NET\Framework
Ogni versione di .NET Framework può essere installata side-by-side ed i files di ogni versione saranno installati in una sotto-cartella della cartella principale di Windows, identificata dalla variabile di ambiente %WINDIR%. Per vedere quali versioni di .NET Framework sono installate, cercare la cartella Microsoft.NET\Framework all'interno della cartella %WINDIR% (dovrebbe essere presente anche la cartella Framework64 se si sta utilizzando un sistema operativo a 64 bit, che può avere installate la versione a 32 bit o a 64 bit o entrambe): ogni versione di .NET Framework ha una cartella e le prime due cifre del nome della cartella identificano la versione di .NET Framework; ad esempio: v1.1.4322 per .NET Framework 1.1, v2.0.50727 per .NET Framework 2.0, v3.5 per .NET Framework 3.5 e così via.
La Figura 1 raffigura le cartelle contenenti i files per le molteplici versioni di .NET Framework installate su un computer sul quale è in esecuzione Windows 7 Ultimate x64 Service Pack 1.
Figura 1: cartelle per specifiche versioni di .NET Framework.
Chiavi del Registry
Le informazioni relative all'installazione di .NET Framework (insieme alle informazioni riguardanti lo stato dei Service Packs installati) sono memorizzate nel Registry di Windows nella chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. La Figura 2 raffigura le chiavi del Registry per le molteplici versioni di .NET Framework installate su un computer sul quale è in esecuzione Windows 7 Ultimate x64 Service Pack 1.
Figura 2: chiavi del Registry per specifiche versioni di .NET Framework.
La Tabella 1 fornisce un elenco dei valori memorizzati in base ad ogni versione di .NET Framework installata.
Versione di .NET Framework | Livello di Service Pack | Nome della chiave del Registry | Valore |
---|---|---|---|
4 - Client | Versione originale | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client | Nome: Version, Tipo: REG_SZ, Dati: 4.0.30319.0 | ||
4 - Completo | Versione originale | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full | Nome: Version, Tipo: REG_SZ, Dati: 4.0.30319.0 | ||
3.5 | Versione originale | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Nome: SP, Tipo: REG_DWORD, Dati: 0 | ||
3.5 | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Nome: SP, Tipo: REG_DWORD, Dati: 1 | ||
3.0 | Versione Originale | Seguire la guida per la distribuzione e l'individuazione nel documento "Microsoft .NET Framework 3.0 Deployment Guide" nella MSDN Library | |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Nome: SP, Tipo: REG_DWORD, Dati: 0 | ||
3.0 | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Nome: SP, Tipo: REG_DWORD, Dati: 1 | ||
3.0 | Service Pack 2 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Nome: SP, Tipo: REG_DWORD, Dati: 2 | ||
2.0 | Versione originale | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Nome: SP, Tipo: REG_DWORD, Dati: 0 | ||
2.0 | Service Pack 1 | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Nome: SP, Tipo: REG_DWORD, Dati: 1 | ||
2.0 | Service Pack 2 | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Nome: SP, Tipo: REG_DWORD, Dati: 2 | ||
1.1 (su sistemi operativi a 32 bit) | Versione originale | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: SP, Type: REG_DWORD, Data: 0 | ||
1.1 (su sistemi operativi a 32 bit) | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
1.1 (su sistemi operativi a 64 bit) | Versione originale | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Nome: SP, Tipo: REG_DWORD, Dati: 0 | ||
1.1 (su sistemi operativi a 64 bit) | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Nome: Install, Tipo: REG_DWORD, Dati: 1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Nome: SP, Tipo: REG_DWORD, Dati: 1 | ||
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Versione originale | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Nome: Version, Tipo: REG_SZ, Dati: 1.0.3705.0 |
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Service Pack 1 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Nome: Version, Tipo: REG_SZ, Dati: 1.0.3705.1 |
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Service Pack 2 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Nome: Version, Tipo: REG_SZ, Dati: 1.0.3705.2 |
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Service Pack 3 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Nome: Version, Tipo: REG_SZ, Dati: 1.0.3705.3 |
1.0 (distribuito con Windows XP Media Center 2002/2004 e Tablet PC 2004) | Service Pack 2 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Nome: Version, Tipo: REG_SZ, Dati: 1.0.3705.2 |
1.0 (distribuito con Windows XP Media Center 2005 e Tablet PC 2005) | Service Pack 3 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Nome: Version, Tipo: REG_SZ, Dati: 1.0.3705.3 |
Table 1: valori delle chiavi del Registry per specifiche versioni di .NET Framework.
Per individuare la presenza di una specifica versione di .NET Framework indipendemente dal livello di Service Pack level o per individuare un livello di Service Pack o un successivo livello di Service Pack della medesima versione di .NET Framework, utilizzare le informazioni sul Registry elencate in Tabella 2.
Versione di .NET Framework | Livello di Service Pack | Nome della chiave del Registry | Valore |
---|---|---|---|
4 - Client | Qualunque versione | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client | Install = 1 |
4 - Completo | Qualunque versione | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full | Install = 1 |
3.5 | Qualunque versione | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Install = 1 |
3.5 | Service Pack 1 o superiore | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | SP >= 1 |
3.0 | Qualunque versione | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Install = 1 |
3.0 | Service Pack 1 o superiore | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | SP >= 1 |
3.0 | Service Pack 2 superiore | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | SP >= 2 |
2.0 | Qualunque versione | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Install = 1 |
2.0 | Service Pack 1 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | SP >= 1 |
2.0 | Service Pack 2 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | SP >= 2 |
1.1 | Qualunque versione | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Install = 1 |
1.1 | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | SP >= 1 |
1.0 | Qualunque versione | HKEY_LOCAL_MACHINE\Software\Microsoft\.NET Framework\Policy\v1.0 | Nome: 3705, Tipo: REG_SZ, esiste |
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Service Pack 1 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Version >= 1.0.3705.1 |
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Service Pack 2 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Version >= 1.0.3705.2 |
1.0 (sulle piattaforme supportate, eccetto Windows XP Media Center e Tablet PC) | Service Pack 3 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Version >= 1.0.3705.3 |
1.0 (distribuito con Windows XP Media Center 2002/2004 e Tablet PC 2004) | Service Pack 2 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Version >= 1.0.3705.2 |
1.0 (distribuito con Windows XP Media Center 2005 e Tablet PC 2005) | Service Pack 3 o superiore | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Version >= 1.0.3705.2 |
Tabella 2: valori delle chiavi del Registry per specifiche versioni di .NET Framework indipendentemente dal livello di Service Pack.
Determinare la versione di .NET Framework via codice
La versione di .NET Framework può essere determinata scrivendo del codice che interroga la versione del Common Language Runtime (CLR) utilizzando la proprietà Version della classe System.Environment, come nel seguente frammento di codice C#
using System;
class Sample
{
public static void Main()
{
Console.WriteLine();
Console.WriteLine("Version: {0}", Environment.Version.ToString());
}
}
Se si compila questo programma con .NET Framework 3.5, il valore di questa proprietà sarà "2.0.50727.3603".
Lo strumento CLRVER
Lo strumento CLR Version (Clrver.exe) elenca tutte le versioni del Common Language Runtime (CLR) installate sul computer. Questo strumento è installato automaticamente con Visual Studio e con Windows SDK e dev'essere eseguito dal prompt dei comandi di Visual Studio o da quello del Windows SDK.
Al prompt dei comandi digitare quanto segue
clrver [option]
dove [option] può essere -all per visualizzare tutti i processi managed e la versione del CLR che utilizzano, -? per visualizzare la sintassi del comando e le opzioni per lo strumento o pid per visualizzare la(e) versione(i) del CLR utilizzata dai processi che hanno l'identificativo di processo specificato. Eseguito senza opzioni, lo strumento visualizza tutte le versioni del CLR installate.
Altre lingue
Questo articolo è disponibile anche nelle seguenti lingue:
English (en-US)