Installare .NET in Windows
Questo articolo illustra quali versioni di .NET sono supportate in Windows, come installare .NET e la differenza tra SDK e runtime.
A differenza di .NET Framework, .NET non è legato alla versione di Windows. È possibile avere una sola versione di .NET Framework installata in Windows. Tuttavia, .NET è autonomo e può essere installato ovunque nel computer. Alcune app potrebbero includere la propria copia di .NET.
Per impostazione predefinita, .NET viene installato nella directory Programma file\dotnet del computer, a meno che il metodo di installazione non scelga una directory diversa.
.NET è costituito dal runtime e dall'SDK. Il runtime esegue le app .NET e l'SDK viene usato per creare app.
Scegliere il runtime corretto
Esistono tre runtime diversi per Windows, che abilitano l'esecuzione di tipi di app diversi. L'SDK include tutti e tre i runtime e un programma di installazione per un runtime potrebbe includere un runtime aggiuntivo. La tabella seguente descrive il runtime incluso in ogni specifico programma di installazione di .NET:
Programma di installazione | Include Runtime di .NET | Include Runtime di .NET Desktop | Include Runtime di ASP.NET Core |
---|---|---|---|
Runtime .NET | Sì | No | No |
Runtime di .NET Desktop | Sì | Sì | No |
Runtime di ASP.NET Core | No | No | Sì |
.NET SDK | Sì | Sì | Sì |
Per assicurarsi di poter eseguire tutte le app .NET in Windows, installare sia il runtime di ASP.NET Core che il runtime di .NET Desktop. Il runtime ASP.NET Core esegue app basate sul Web e il runtime desktop .NET esegue app desktop, ad esempio un'app Windows Presentation Foundation (WPF) o Windows Form.
Scegliere come installare .NET
Esistono diversi modi per installare .NET e alcuni prodotti potrebbero gestire la propria versione di .NET. Se si installa .NET tramite software che gestisce la propria versione di .NET, potrebbe non essere abilitato a livello di sistema. Assicurarsi di comprendere le implicazioni dell'installazione di .NET tramite altri software.
Se non si è certi del metodo da scegliere dopo aver esaminato gli elenchi nelle sezioni seguenti, probabilmente è preferibile usare il programma di installazione di .NET.
Sviluppatori
-
Usare Visual Studio per installare .NET quando si vogliono sviluppare app .NET con Visual Studio. Visual Studio gestisce la propria copia di .NET. Questo metodo installa i modelli di SDK, runtime e Visual Studio.
Visual Studio Code - C# Dev Kit
Installare l'estensione C# Dev Kit per Visual Studio Code per sviluppare app .NET. L'estensione può usare un SDK già installato o installarlo automaticamente.
Utenti e sviluppatori
Programma di installazione di .NET
Installare .NET con un pacchetto di Windows Installer, un eseguibile avviato dall'utente. Questo metodo può installare l'SDK e il runtime. Le installazioni vengono eseguite a livello di sistema.
Gestione pacchetti Windows (WinGet)
Usare WinGet per installare .NET quando si vuole gestire .NET tramite la riga di comando. Questo metodo può installare l'SDK e il runtime. Le installazioni vengono eseguite a livello di sistema.
-
Uno script di PowerShell in grado di automatizzare l'installazione dell'SDK o del runtime. È possibile scegliere la versione di .NET da installare.
Versioni supportate
La tabella seguente è un elenco delle versioni .NET attualmente supportate e delle versioni di Windows in cui sono supportate. Queste versioni rimangono supportate fino a quando la versione di .NET raggiunge la fine del supporto o la versione di Windows raggiunge il fine del ciclo di vita.
Suggerimento
Come promemoria, questa tabella si applica a .NET moderno (anziché a .NET Framework). Per installare .NET Framework, vedere la Guida all'installazione di .NET Framework.
Le date di fine servizio delle versioni di Windows 10 sono segmentate per edizione. Solo le edizioni Home, Pro, Pro Education e Pro per workstation vengono prese in considerazione nella tabella seguente. Controllare la scheda dei fatti del ciclo di vita di Windows per informazioni specifiche.
Sistema operativo | .NET 8 (architetture) | .NET 6 (architetture) |
---|---|---|
Windows 11 (24H2, 23H2, 22H2 Ent/Edu) | ✔️ x64, x86, Arm64 | ✔️ x64, Arm64 |
Windows 10 (22H2+) | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 |
Windows 8.1 | ❌ | ✔️ x64, x86 |
Windows 7 SP1 ESU | ❌ | ✔️ x64, x86 |
Windows Server 2025 Windows Server 2022 Windows Server 2019 Windows Server, versione 1903 o successiva Windows Server 2016 Windows Server 2012 R2 Windows Server 2012 |
✔️ x64, x86 | ✔️ x64, x86 |
Windows Server Core 2012 (e R2) | ✔️ x64, x86 | ✔️ x64, x86 |
Nano Server (2022, 2019) | ✔️ x64 | ✔️ x64 |
Suggerimento
Un simbolo +
rappresenta la versione minima.
Windows 7/8.1/Server 2012
Windows 7 e Windows 8.1 supportano solo .NET 6. Tuttavia, .NET 6 non è supportato a partire dal 12 novembre 2024.
Windows Server 2012 è ancora supportato da qualsiasi versione di .NET ancora supportata.
Tutte e tre queste versioni di Windows richiedono l'installazione di altre dipendenze:
Sistema operativo | Prerequisiti |
---|---|
Windows 7 SP1 ESU | - Microsoft Visual C++ 2015-2019 Redistributable 64-bit / 32-bit - KB3063858 64-bit / 32-bit - Autorità di certificazione radice Microsoft 2011 (solo programma di installazione offline di .NET Core 2.1) |
Windows 8.1 | Microsoft Visual C++ 2015-2019 Redistributable 64-bit / 32-bit |
Windows Server 2012 | Microsoft Visual C++ 2015-2019 Redistributable 64-bit / 32-bit |
Windows Server 2012 R2 | Microsoft Visual C++ 2015-2019 Redistributable 64-bit / 32-bit |
I requisiti precedenti sono necessari anche se viene visualizzato un errore correlato a una delle dll seguenti:
- api-ms-win-crt-runtime-l1-1-0.dll
- api-ms-win-cor-timezone-l1-1-0.dll
- hostfxr.dll
PC Windows basati su Arm
.NET è supportato nei PC Windows basati su Arm. Le sezioni seguenti descrivono gli aspetti da considerare durante l'installazione di .NET.
Differenze dell'SDK
Le versioni x86, x64 e ARM64 di .NET SDK esistono indipendentemente l'una dall'altra. Se viene rilasciata una nuova versione, ogni installazione dell'architettura deve essere aggiornata.
Differenze di percorso
In un PC Windows basato su Arm, tutte le versioni Arm64 di .NET vengono installate nella normale cartella C:\Program Files\dotnet\. Tuttavia, la versione x64 della SDK .NET viene installata nella cartellaC:\Program Files\dotnet\x64\.
Variabili di percorso
Le variabili di ambiente che aggiungono .NET al percorso di sistema, ad esempio la variabile PATH
, potrebbero dover essere modificate se sono installate entrambe le versioni x64 e ARM64 di .NET SDK. Inoltre, alcuni strumenti si basano sulla variabile di ambiente DOTNET_ROOT
, che dovrebbe essere aggiornata anch’essa per puntare alla cartella di installazione appropriata della SDK .NET.
Installare con Visual Studio
Visual Studio installa la propria copia di .NET separata da altre copie di .NET. Versioni diverse di Visual Studio supportano versioni diverse di .NET. L'ultima versione di Visual Studio supporta sempre l'ultima versione di .NET.
Il programma di installazione di Visual Studio installa e configura Visual Studio. Alcuni carichi di lavoro di Visual Studio includono .NET, ad esempio ASP.NET e sviluppo Web e Sviluppo di app multipiattaforma .NET. È possibile installare versioni specifiche di .NET tramite la scheda Singoli componenti.
La documentazione di Visual Studio fornisce istruzioni su come:
Versioni di .NET e Visual Studio
Se si usa Visual Studio per sviluppare app .NET, la tabella seguente descrive la versione minima necessaria di Visual Studio in base alla versione della SDK .NET di destinazione.
Versione di .NET SDK | Versione di Visual Studio |
---|---|
8 | Visual Studio 2022, versione 17.8 o successive. |
7 | Visual Studio 2022, versione 17.4 o successive. |
6 | Visual Studio 2022, versione 17.0 o successive. |
5 | Visual Studio 2019, versione 16.8 o successive. |
3.1 | Visual Studio 2019, versione 16.4 o successive. |
3,0 | Visual Studio 2019, versione 16.3 o successive. |
2.2 | Visual Studio 2017, versione 15.9 o successive. |
2.1 | Visual Studio 2017, versione 15.7 o successive. |
Se Visual Studio è già installato, è possibile controllare la versione seguendo questa procedura.
- Aprire Visual Studio.
- Selezionare Guida> su Microsoft Visual Studio.
- Leggere il numero di versione dalla finestra di dialogo Informazioni.
Per altre informazioni, vedere Controllo delle versioni di .NET SDK, MSBuild e Visual Studio.
Installare con Visual Studio Code
Visual Studio Code è un editor di codice sorgente potente e leggero che viene eseguito sul desktop. Visual Studio Code può utilizzare l'SDK già installato nel sistema. Inoltre, l'estensione C# Dev Kit installerà .NET se non è già installata.
Per istruzioni sull'installazione di .NET tramite Visual Studio Code, consultare la sezione Introduzione a C# in VS Code.
Programma di installazione di .NET
La pagina di download per .NET fornisce i file eseguibili di Windows Installer.
Aprire un Web browser e passare a https://dotnet.microsoft.com/download/dotnet.
Selezionare la versione di .NET da scaricare, ad esempio 8.0.
Trovare la casella relativa all'SDK o al runtime che contiene i collegamenti per il download di .NET.
Nella colonna Programmi di installazione individuare la riga Windows e selezionare il collegamento per l'architettura della CPU in uso. In caso di dubbi, selezionare x64 perché è la più comune.
Il browser deve scaricare automaticamente il programma di installazione.
Suggerimento
L'immagine seguente mostra l'SDK, ma è anche possibile scaricare il runtime.
Aprire Esplora risorse e passare alla posizione in cui è stato scaricato il file, molto probabilmente la cartella Download.
Fare doppio clic sul file per installare .NET.
Si aprirà la finestra di dialogo di Windows Installer.
Selezionare Installa e seguire le istruzioni per installare .NET.
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Opzioni della riga di comando
Usare il parametro /?
per visualizzare un elenco di opzioni.
Se si desidera installare .NET in modo invisibile all'utente, ad esempio in un ambiente di produzione o per supportare l'integrazione continua, utilizzare le opzioni seguenti:
/install
Installa .NET./quiet
Impedisce la visualizzazione di qualsiasi interfaccia utente e richiesta./norestart
Impedisce qualsiasi tentativo di riavvio.
dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart
Suggerimento
Il programma di installazione restituisce un codice di uscita pari a 0 per l'esito positivo e un codice di uscita 3010 per indicare che è necessario un riavvio. Qualsiasi altro valore è in genere un codice di errore.
Installare con Gestione pacchetti Windows (WinGet)
È possibile installare e gestire .NET tramite il servizio Gestione pacchetti di Windows usando lo strumento winget.exe
. Per altre informazioni su come installare e usare WinGet, vedere Usare lo strumento WinGet per installare e gestire applicazioni.
Se si installa .NET a livello di sistema, procedere all’installazione con privilegi amministrativi.
I pacchetti WinGet di .NET sono:
Microsoft.DotNet.Runtime.8
- Runtime di .NET 8.0.Microsoft.DotNet.AspNetCore.8
- Runtime di ASP.NET Core 8.0Microsoft.DotNet.DesktopRuntime.8
- Runtime di .NET Desktop 8.0Microsoft.DotNet.SDK.8
Runtime di .NET SDK 8.0
Installazione dell'SDK
Se si installa l'SDK, non è necessario installare il runtime corrispondente.
Aprire un terminale, ad esempio PowerShell o il prompt dei comandi.
Eseguire il comando
winget install
e passare il nome del pacchetto SDK:winget install Microsoft.DotNet.SDK.8
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Installare il runtime
Esistono vari runtime che è possibile installare. Fare riferimento alla sezione Scegliere il runtime corretto per comprendere cosa è incluso in ogni runtime.
Aprire un terminale, ad esempio PowerShell o il prompt dei comandi.
Eseguire il comando
winget install
e passare il nome del pacchetto SDK:winget install Microsoft.DotNet.DesktopRuntime.8 winget install Microsoft.DotNet.AspNetCore.8
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Cercare versioni
Usare il comando winget search
per cercare versioni diverse del pacchetto da installare. Ad esempio, il comando seguente cerca tutti gli SDK .NET disponibili tramite WinGet:
winget search Microsoft.DotNet.SDK
I risultati della ricerca vengono visualizzati in una tabella con l'identificatore di ogni pacchetto.
Name Id Version Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Preview Microsoft.DotNet.SDK.Preview 9.0.100-preview.3.24204.13 winget
Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.300 winget
Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.409 winget
Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.422 winget
Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget
Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget
Installare le versioni di anteprima
È possibile installare le versioni di anteprima sostituendo il numero di versione, ad esempio 8
, con la parola Preview
. L'esempio seguente installa la versione di anteprima di Runtime .NET Desktop:
winget install Microsoft.DotNet.DesktopRuntime.Preview
Installare con PowerShell
L'installazione di .NET tramite lo script di PowerShell dotnet-install
è consigliata per l'integrazione continua e le installazioni non amministrative. Se si installa .NET per il normale uso nel sistema, usare il Programma di installazione di .NET o Gestione pacchetti di Windows .
Per impostazione predefinita, lo script installa la versione Long Term Support (LTS) più recente, ovvero .NET 8. È possibile scegliere una versione specifica specificando l'opzione -Channel
. Includere l'opzione -Runtime
per installare un runtime. In caso contrario, lo script installa l'SDK. Lo script è disponibile all'indirizzo https://dot.net/v1/dotnet-install.ps1 e il codice sorgente è ospitato in GitHub.
Per altre informazioni sullo script, vedere le informazioni di riferimento sullo script dotnet-install.
Installare il runtime
Il runtime di .NET viene installato fornendo l'opzione -Runtime
.
Scaricare lo script di installazione da https://dot.net/v1/dotnet-install.ps1
Aprire PowerShell e passare alla cartella contenente lo script.
Eseguire i comandi seguenti per installare sia il runtime Desktop che il runtime di ASP.NET Core al fine di garantire la massima compatibilità:
dotnet-install.ps1 -Runtime windowsdesktop dotnet-install.ps1 -Runtime aspnetcore
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Installazione dell'SDK
Se si installa l'SDK, non è necessario installare i runtime .
Scaricare lo script di installazione da https://dot.net/v1/dotnet-install.ps1
Aprire PowerShell e passare alla cartella contenente lo script.
Eseguire il comando seguente per installare .NET SDK.
dotnet-install.ps1
Nota
L'SDK si installa omettendo l'opzione
-Runtime
.
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Convalida
Dopo aver scaricato un programma di installazione o la versione binaria, verificare che il file non sia stato modificato o danneggiato. È possibile verificare il checksum nel computer e quindi confrontarlo con ciò che è stato segnalato nel sito Web di download.
Quando si scarica il file da una pagina di download ufficiale, viene visualizzato il checksum per il file in una casella di testo. Selezionare il pulsante Copia per copiare il valore del checksum negli Appunti.
È possibile usare PowerShell o il prompt dei comandi per convalidare il checksum del file scaricato. Ad esempio, il comando seguente segnala il checksum del file dotnet-sdk-8.0.100-win-x64.exe:
> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
Confrontare il checksum con il valore fornito dal sito di download.
Usare PowerShell e un file di checksum per convalidare
Le note sulla versione .NET contengono un collegamento a un file di checksum che è possibile utilizzare per convalidare il file scaricato. I passaggi seguenti descrivono come scaricare il file di checksum e convalidare un file binario di installazione di .NET:
La pagina delle note sulla versione per .NET 8 su GitHub all'indirizzo https://github.com/dotnet/core/tree/main/release-notes/8.0 contiene una sezione denominata Releases. La tabella in questa sezione contiene collegamenti ai download e ai file di checksum per ogni versione di .NET 8:
Selezionare il collegamento per la versione di .NET scaricata. La sezione precedente usa SDK .NET 8.0.100, che si trova nella versione .NET 8.0.0.
Suggerimento
Se non si è certi della versione .NET che contiene il file di checksum, esplorare i collegamenti fino a rintracciarlo.
Nella pagina della versione è possibile visualizzare la versione di Runtime .NET e SDK .NET e un collegamento al file di checksum:
Copiare il collegamento al file di checksum.
Usare lo script seguente, ma sostituire il collegamento per scaricare il file di checksum appropriato:
Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
Con il file checksum e il file di versione .NET scaricati nella stessa directory, cercare il file checksum per il checksum del download .NET:
Al termine della convalida, viene visualizzata la stampa Vero:
> (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*" True
Se viene visualizzata la stampaFalso, il file scaricato non è valido e non deve essere utilizzato.
Risoluzione dei problemi
Dopo aver installato .NET SDK potrebbero verificarsi problemi durante il tentativo di eseguire comandi dell'interfaccia della riga di comando di .NET. In questa sezione vengono raccolte le problematiche comuni e vengono fornite le soluzioni.
- Non è stato trovata alcuna SDK .NET
- La compilazione di app è più lenta del previsto
hostfxr.dll
/api-ms-win-crt-runtime-l1-1-0.dll
/api-ms-win-cor-timezone-l1-1-0.dll
mancante
Non è stato trovata alcuna SDK .NET
Molto probabilmente sono state installate sia le versioni x86 (a 32 bit) che x64 (a 64 bit) della SDK .NET. Ciò causa un conflitto perché, quando si esegue il comando dotnet
, viene risolto nella versione x86 quando deve essere risolto nella versione x64. La soluzione al problema consiste nel modificare la variabile %PATH%
per risolvere prima la versione x64.
Verificare che entrambe le versioni siano installate eseguendo il comando
where.exe dotnet
. In questo caso, verrà visualizzata una voce per le cartelle Program Files\ e Program Files (x86)\. Se la cartella Program Files (x86)\ appare per prima, come illustrato nell'esempio seguente, si tratta di una situazione non corretta ed è necessario continuare con il passaggio successivo.> where.exe dotnet C:\Program Files (x86)\dotnet\dotnet.exe C:\Program Files\dotnet\dotnet.exe
Se la situazione è corretta e la cartella Program Files\ appare per prima, non si è verificato il problema di cui tratta questa sezione ed è necessario creare una richiesta di supporto per .NET in GitHub
Premere il pulsante Windows e digitare "Modifica le variabili di ambiente di sistema" nella ricerca. Selezionare Modifica le variabili di ambiente di sistema.
Viene visualizzata la finestra Proprietà di sistema nella scheda Avanzate. Selezionare Variabili di ambiente.
Nella finestra Variabili di ambiente, nel gruppo Variabili di sistema , selezionare la riga Percorso*, quindi selezionare il pulsante Modifica.
Usare i pulsanti Sposta su e Sposta giù per spostare la voceC:\Program Files\dotnet\ sopra C:\Program Files (x86)\dotnet\.
La compilazione di app è più lenta del previsto
Assicurarsi che Controllo app intelligente, una funzionalità di Windows, sia disattivata. L’attivazione di Controllo smart app è sconsigliata nei computer utilizzati per lo sviluppo. Qualsiasi impostazione diversa da disattivata" potrebbe influire negativamente sulle prestazioni dell'SDK.
hostfxr.dll
/ api-ms-win-crt-runtime-l1-1-0.dll
/ api-ms-win-cor-timezone-l1-1-0.dll
mancante
Installare Microsoft Visual C++ 2015-2019 Redistributable (64-bit o 32-bit).