Installare .NET in Windows

Questo articolo illustra come installare .NET in Windows. .NET è costituito dal runtime e dall'SDK. Il runtime viene usato per eseguire un'app .NET e potrebbe essere incluso nell'app. L'SDK viene usato per creare app e librerie .NET. Il runtime .NET viene sempre installato con l'SDK.

La versione più recente di .NET è 8.0.

Esistono due tipi di versioni supportate: versioni Long Term Support (LTS) e versioni Standard Term Support (STS). La qualità di tutte le versioni è identica. L'unica differenza consiste nella lunghezza del supporto. Le versioni LTS ottengono il supporto gratuito e patch per tre anni. Le versioni STS ottengono supporto gratuito e patch per 18 mesi. Per altre informazioni, vedere i criteri di supporto .NET.

La tabella seguente elenca lo stato di supporto di ciascuna versione di .NET (e .NET Core):

✔️ Supportata ❌ Non supportata
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3,0
2.1
2.0
1.1
1.0

Eseguire l'installazione con Gestione pacchetti Windows (winget)

È possibile installare e gestire .NET tramite il servizio Gestione pacchetti di Windows usando lo strumento winget. Per altre informazioni su come installare e usare winget, vedere Usare lo strumento winget.

Se si installa .NET a livello di sistema, procedere all’installazione con privilegi amministrativi.

Installazione dell'SDK

SDK .NET consente di sviluppare app con .NET. Se si installa SDK .NET, non è necessario installare i runtime corrispondenti. Per installare SDK .NET, eseguire il comando seguente:

winget install Microsoft.DotNet.SDK.8

Installare il runtime

Esistono tre runtime .NET differenti che è possibile installare, ma è necessario installare sia .NET Desktop Runtime che ASP.NET Core Runtime per garantire la massima compatibilità con tutti i tipi di app .NET. Nella tabella seguente vengono descritti gli elementi inclusi in ogni runtime:

Include Runtime di .NET Include Runtime di .NET Desktop Include Runtime di ASP.NET Core
Runtime .NET No No
Runtime di .NET Desktop No
Runtime di ASP.NET Core No No

L'elenco seguente fornisce informazioni dettagliate su ogni runtime insieme ai comandi winget per installarli:

  • Runtime di .NET Desktop

    Questo runtime supporta le app Windows Presentation Foundation (WPF) e Windows Form compilate con .NET. Non equivale a .NET Framework, che viene fornito con Windows. Questo runtime include .NET Runtime, ma non include Runtime di ASP.NET Core, che deve essere installato separatamente.

    winget install Microsoft.DotNet.DesktopRuntime.8
    
  • Runtime .NET

    Si tratta del runtime di base e contiene solo i componenti necessari per eseguire un'app console. In genere, è necessario installare sia Runtime .NET Desktop che Runtime ASP.NET Core invece di questo.

    winget install Microsoft.DotNet.Runtime.8
    
  • Runtime di ASP.NET Core

    Questo runtime esegue app server Web e fornisce molte API correlate al Web. Runtime ASP.NET Core consente di eseguire app realizzate con .NET che non hanno fornito il runtime. Oltre a questo runtime è necessario installare Runtime .NET. I comandi seguenti installano Runtime ASP.NET Core; nel terminale eseguire i comandi seguenti:

    winget install Microsoft.DotNet.AspNetCore.8
    

È possibile installare le versioni di anteprima dei runtime sostituendo il numero di versione, ad esempio 6, con la parola Preview. L'esempio seguente installa la versione di anteprima di Runtime .NET Desktop:

winget install Microsoft.DotNet.DesktopRuntime.Preview

Installare insieme a Visual Studio Code

Visual Studio Code è un editor di codice sorgente potente e leggero che viene eseguito sul desktop. Visual Studio Code è disponibile per Windows, macOS e Linux.

Anche se Visual Studio Code non è dotato di un programma di installazione automatizzato di .NET Core come Visual Studio, l'aggiunta del supporto di .NET Core è semplice.

  1. Scaricare e installare Visual Studio Code.
  2. Scaricare e installare SDK .NET.
  3. Installare l'estensione C# da Visual Studio Code Marketplace.

L'estensione C# per Visual Studio Code include la versione più recente di SDK .NET e non è necessario installare separatamente alcun runtime .NET.

Installare con Windows Installer

Esistono tre runtime .NET differenti che è possibile installare, ma è necessario installare sia .NET Desktop Runtime che ASP.NET Core Runtime per garantire la massima compatibilità con tutti i tipi di app .NET. Nella tabella seguente vengono descritti gli elementi inclusi in ogni runtime:

Include Runtime di .NET Include Runtime di .NET Desktop Include Runtime di ASP.NET Core
Runtime .NET No No
Runtime di .NET Desktop No
Runtime di ASP.NET Core No No

.NET SDK consente di creare app .NET e include tutti i runtime.

La pagina di download per .NET fornisce i file eseguibili di Windows Installer.

Se si vuole installare .NET in modo invisibile all'utente, ad esempio in un ambiente di produzione o per supportare l'integrazione continua, usare 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

Per altre informazioni, vedere Opzioni della riga di comando del programma di installazione standard.

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.

Eseguire l'installazione con l'automazione di PowerShell

Gli script dotnet-install vengono usati per l'automazione CI e le installazioni non amministrative del runtime. È possibile scaricare lo script dalla pagina di riferimento dello script dotnet-install.

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.

Il comando seguente installa sia i runtime Desktop che ASP.NET Core al fine di garantire la massima compatibilità.

dotnet-install.ps1 -Channel 8.0 -Runtime windowsdesktop
dotnet-install.ps1 -Channel 8.0 -Runtime aspnetcore

Installare l'SDK omettendo l'opzione -Runtime. Il questo esempio l'opzione -Channel è impostata su STS, che installa la versione più recente dello Standard Term Support, ovvero .NET 7.

dotnet-install.ps1 -Channel STS

Installare con 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.

  1. Aprire Visual Studio.
  2. Selezionare Guida> su Microsoft Visual Studio.
  3. Leggere il numero di versione dalla finestra di dialogo Informazioni.

Visual Studio può installare SDK .NET e il runtime più recenti.

Per altre informazioni, vedere SDK .NET, MSBuild e Controllo delle versioni di Visual Studio.

Selezionare un carico di lavoro

Quando si installa o si modifica Visual Studio, selezionare uno o più dei carichi di lavoro seguenti, a seconda del tipo di applicazione che si sta creando:

  • Il carico di lavoro di sviluppo multipiattaforma .NET Core nella sezione Altri set di strumenti.
  • Il carico di lavoro ASP.NET e sviluppo Web nella sezione Web e cloud.
  • Il carico di lavoro Sviluppo di Azure nella sezione Web e cloud.
  • Il carico di lavoro Sviluppo per desktop .NET nella sezioneDesktop e mobile.

Windows Visual Studio 2019 with .NET Core workload

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.

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.

Suggerimento

Un simbolo + rappresenta la versione minima.

Sistema operativo .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server, versione 1903 o successiva ✔️ ✔️ ✔️
Windows 10, versione 1607 o successiva ✔️ ✔️ ✔️
Windows 8.1 ✔️
Windows 7 SP1 ESU ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ ✔️ ✔️
Windows Server Core 2012 R2 ✔️ ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️ ✔️
Nano Server, versione 1809+ ✔️ ✔️ ✔️
Nano Server, versione 1803

Per altre informazioni sui sistemi operativi, le distribuzioni e i criteri del ciclo di vita supportati da .NET 8, vedere Versioni supportate del sistema operativo .NET 8.

Versioni non supportate

Le versioni seguenti di .NET non sono ❌ più supportate:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Verificare i file binari scaricati

Dopo aver scaricato un programma di installazione, 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 un programma di installazione o un file binario da una pagina di download ufficiale, viene visualizzato il checksum per il file. Selezionare il pulsante Copia per copiare il valore del checksum negli Appunti.

The .NET download page with checksum

È 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:

  1. 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:

    The github release notes version table for .NET

  2. 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.

  3. Nella pagina della versione è possibile visualizzare la versione di Runtime .NET e SDK .NET e un collegamento al file di checksum:

    The download table with checksums for .NET

  4. Copiare il collegamento al file di checksum.

  5. 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
    
  6. 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.

Informazioni sul runtime

Il runtime viene usato per eseguire le app create con .NET. Quando un autore di app pubblica un'app, può includere il runtime con l'app. Se il runtime non viene incluso, spetta all'utente installarlo.

Esistono tre runtime .NET differenti che è possibile installare, ma è necessario installare sia .NET Desktop Runtime che ASP.NET Core Runtime per garantire la massima compatibilità con tutti i tipi di app .NET. Nella tabella seguente vengono descritti gli elementi inclusi in ogni runtime:

Include Runtime di .NET Include Runtime di .NET Desktop Include Runtime di ASP.NET Core
Runtime .NET No No
Runtime di .NET Desktop No
Runtime di ASP.NET Core No No

L'elenco seguente fornisce informazioni dettagliate su ogni runtime:

  • Runtime di Desktop
    Esegue app desktop .NET WPF e Windows Form per Windows. Include il runtime di .NET.

  • Runtime di ASP.NET Core
    Esegue app ASP.NET app.

  • Runtime .NET
    Questo runtime è il runtime più semplice e non include altri runtime. Installare sia Runtime di ASP.NET Core che Runtime di Desktop per garantire la migliore compatibilità con le app .NET.

Informazioni su SDK

L'SDK viene utilizzato per compilare e pubblicare app e librerie .NET. L'installazione di SDK include tutti e tre i runtime: ASP.NET Core, Desktop e .NET.

PC Windows basati su Arm

Le sezioni seguenti descrivono gli aspetti da considerare durante l'installazione di .NET in un PC Windows basato su Arm.

Elementi supportati

La tabella seguente descrive le versioni di .NET supportate in un PC Windows basato su Arm:

Versione .NET Architettura SDK esecuzione Conflitto di percorso
8 Arm64 No
8 x64 No
7 Arm64 No
7 x64 No
6 Arm64 No
6 x64 No
5 Arm64
5 x64 No

Le versioni x64 e Arm64 della SDK .NET 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\.

Conflitti di percorso

La SDK .NET X64 si installa nella propria directory, come descritto nella sezione precedente. In questo modo è possibile che le versioni Arm64 e x64 della SDK .NET esistano nello stesso computer. Tuttavia, qualsiasi SDK x64 precedente alla 6 non è supportata e viene installata nello stesso percorso della versione Arm64, la cartella C:\Program Files\dotnet\ . Se si vuole installare una SDK x64 non supportata, è necessario disinstallare prima la versione di Arm64. Anche l'opposto è vero: è necessario disinstallare l'SDK x64 non supportata per installare la versione Arm64.

Variabili di percorso

Le variabili di ambiente che aggiungono .NET al percorso di sistema, ad esempio la variabile PATH, possono essere modificate se sono installate entrambe le versioni x64 e Arm64 della SDK .NET. 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.

Dipendenze

Con .NET 8 sono supportate le seguenti versioni di Windows:

Nota

Un simbolo + rappresenta la versione minima.

Sistema operativo Versione Architetture
Windows 11 22000+ x64, x86, Arm64
Client Windows 10 1607+ x64, x86, Arm64
Windows Server 2012+ x64, x86
Windows Server Core 2012+ x64, x86
Nano Server 1809+ x64

Per altre informazioni sui sistemi operativi, le distribuzioni e i criteri del ciclo di vita supportati da .NET 8, vedere Versioni supportate del sistema operativo .NET 8.

Windows 7/8.1/Server 2012

Sono necessarie altre dipendenze se si installa la SDK o il runtime .NET nelle versioni di Windows seguenti:

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

Docker

I contenitori offrono un modo leggero per isolare l'applicazione dal resto del sistema host. I contenitori nello stesso computer condividono solo il kernel e utilizzano le risorse fornite all'applicazione.

.NET può essere eseguito in un contenitore Docker. Le immagini Docker ufficiali per .NET sono pubblicate in Microsoft Container Registry (MCR) e sono individuabili nel repository di Microsoft .NET in Docker Hub. Ogni repository contiene le immagini per diverse combinazioni di .NET (SDK o Runtime) e del sistema operativo che è possibile usare.

Microsoft fornisce immagini progettate per scenari specifici. Il repository di ASP.NET Core, ad esempio, include immagini che vengono compilate per l'esecuzione di app ASP.NET Core nell'ambiente di produzione.

Per altre informazioni sull'uso di .NET in un contenitore Docker, vedere Introduzione a .NET e Docker ed Esempi.

Risoluzione dei problemi

Dopo aver installato la SDK .NET, potrebbero verificarsi problemi durante il tentativo di eseguire i 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

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 esso viene risolto nella versione x86 quando deve essere risolto nella versione x64. In genere, questo problema viene risolto modificando la variabile %PATH% per risolvere prima la versione x64.

  1. 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

  2. Premere il pulsante Windows e digitare "Modifica le variabili di ambiente di sistema" nella ricerca. Selezionare Modifica le variabili di ambiente di sistema.

    Windows start menu with edit environment variable

  3. Viene visualizzata la finestra Proprietà di sistema nella scheda Avanzate. Selezionare Variabili di ambiente.

    The Windows system properties panel open.

  4. Nella finestra Variabili di ambiente, nel gruppo Variabili di sistema , selezionare la riga Percorso*, quindi selezionare il pulsante Modifica.

    The environment variables window with user and system variables.

  5. Usare i pulsanti Sposta su e Sposta giù per spostare la voceC:\Program Files\dotnet\ sopra C:\Program Files (x86)\dotnet\.

    The environment variables list for the system.

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.

Passaggi successivi