Installer .NET sur Windows

Dans cet article, vous apprenez à installer .NET sur Windows. .NET est constitué du runtime et du kit SDK. Vous pouvez utiliser le runtime pour exécuter une application .NET et il est possible qu’il soit inclus avec l’application. Le kit SDK est utilisé pour créer des applications et des bibliothèques .NET. Le runtime .NET est toujours installé avec le kit SDK.

La dernière version de .NET est 8.0.

Il existe deux types de versions supportées : Support à long terme (Long Term Support/LTS) et Support à terme standard (Standard Term Support/STS). La qualité de toutes les versions est la même. La seule différence est la longueur de la prise en charge. Les versions LTS bénéficient d'une assistance et de correctifs gratuits pendant trois ans. Les versions STS bénéficient d’un support et de correctifs gratuits pendant 18 mois. Pour plus d’informations, consultez la stratégie de prise en charge .NET.

Le tableau suivant répertorie l’état de prise en charge de chaque version de .NET (et .NET Core) :

✔️ Pris en charge ❌ Non pris en charge
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.1
2,0
1.1
1.0

Installer avec le Gestionnaire de package Windows (winget)

Vous pouvez installer et gérer .NET via le service Gestionnaire de package Windows à l’aide de l’outil winget . Pour plus d’informations sur l’installation et l’utilisation de winget, consultez Utiliser l’outil winget.

Si vous installez .NET à l’échelle du système, installez-le avec des privilèges d’administration.

Installer le SDK

Le Kit de développement logiciel (SDK) .NET vous permet de développer des applications avec .NET. Si vous installez le Kit de développement logiciel (SDK) .NET, vous n’avez pas besoin d’installer les runtimes correspondants. Pour installer le Kit de développement logiciel (SDK) .NET, exécutez la commande suivante :

winget install Microsoft.DotNet.SDK.8

Installer le runtime

Il existe trois runtimes .NET différents que vous pouvez installer. Toutefois, vous devez installer à la fois le runtime .NET Desktop et le runtime ASP.NET Core pour bénéficier d’une compatibilité maximale avec tous les types d’applications .NET. Le tableau suivant décrit ce qui est inclus dans chaque runtime :

Inclut le runtime .NET Inclut le runtime .NET Desktop Inclut le runtime ASP.NET Core
.NET Runtime Oui No Non
Runtime .NET Desktop Oui Oui Non
Runtime ASP.NET Core Non Non Oui

La liste suivante fournit des détails sur chaque exécution, ainsi que les commandes winget pour les installer :

  • Runtime .NET Desktop

    Ce runtime prend en charge les applications Windows Presentation Foundation (WPF) et Windows Forms générées avec .NET. Il ne s’agit pas de .NET Framework, qui est fourni avec Windows. Ce runtime inclut le runtime .NET, mais n’inclut pas le runtime ASP.NET Core qui doit être installé séparément.

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

    Il s’agit du runtime de base et contient uniquement les composants nécessaires pour exécuter une application console. En règle générale, vous installeriez à la fois le runtime .NET Desktop et le runtime ASP.NET Core au lieu de celui-ci.

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

    Ce runtime exécute des applications de serveur web et fournit de nombreuses API liées au web. Le runtime ASP.NET Core vous permet d’exécuter des applications qui ont été développées avec .NET qui n’a pas fourni le runtime. Vous devez installer le runtime .NET en plus de ce runtime. Les commandes suivantes installent le runtime ASP.NET Core. Dans votre terminal, exécutez les commandes suivantes :

    winget install Microsoft.DotNet.AspNetCore.8
    

Vous pouvez installer des versions préliminaires des runtimes en remplaçant le numéro de version, tel que 6, par le mot Preview. L’exemple suivant installe la version préliminaire du Runtime .NET Desktop :

winget install Microsoft.DotNet.DesktopRuntime.Preview

Installer en même temps que Visual Studio Code

Visual Studio Code est un éditeur de code source puissant et léger qui s’exécute sur votre bureau. Visual Studio Code est disponible pour Windows, macOS et Linux.

Bien que Visual Studio Code ne soit pas associé à un programme d’installation .NET Core automatisé comme Visual Studio, l’ajout de la prise en charge de .NET Core est simple.

  1. Téléchargez et installez Visual Studio Code.
  2. Téléchargez et installez le SDK .NET.
  3. Installer l’extension C# à partir du Marketplace Visual Studio Code.

L’extension C# pour Visual Studio Code inclut le dernier Kit de développement logiciel (SDK) .NET et vous n’avez pas besoin d’installer un runtime .NET séparément.

Installer avec Windows Installer

Il existe trois runtimes .NET différents que vous pouvez installer. Toutefois, vous devez installer à la fois le runtime .NET Desktop et le runtime ASP.NET Core pour bénéficier d’une compatibilité maximale avec tous les types d’applications .NET. Le tableau suivant décrit ce qui est inclus dans chaque runtime :

Inclut le runtime .NET Inclut le runtime .NET Desktop Inclut le runtime ASP.NET Core
.NET Runtime Oui No Non
Runtime .NET Desktop Oui Oui Non
Runtime ASP.NET Core Non Non Oui

Le Kit de développement logiciel (SDK) .NET vous permet de créer des applications .NET et inclut tous les runtimes.

La page de téléchargement de .NET fournit des exécutables Windows Installer.

Si vous souhaitez installer .NET en mode silencieux, par exemple dans un environnement de production ou pour prendre en charge l’intégration continue, utilisez les commutateurs suivants :

  • /install
    Installe .NET.

  • /quiet
    Empêche l’affichage d’une interface utilisateur et d’une invite.

  • /norestart
    Supprime toute tentative de redémarrage.

dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart

Pour plus d'informations, consultez Options de ligne de commande de programme d’installation standard.

Conseil

Le programme d’installation retourne un code de sortie de 0 pour succès et un code de sortie de 3010 pour indiquer qu’un redémarrage est requis. Toute autre valeur est généralement un code d’erreur.

Installer avec l’automatisation PowerShell

Les scripts dotnet-install sont utilisés pour l’automatisation CI et les installations non-administrateurs du runtime. Vous pouvez télécharger le script à partir de la page de référence du script dotnet-install.

Par défaut, le script installe la dernière version en support à long terme (LTS), qui est .NET 8. Vous pouvez choisir une version spécifique en spécifiant le commutateur Channel. Incluez le commutateur Runtime pour installer un runtime. Sinon, le script installe le SDK.

La commande suivante installe les runtimes ASP.NET Core et Desktop pour bénéficier d’une compatibilité maximale.

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

Installez le Kit de développement logiciel (SDK) en omettant le commutateur -Runtime. Le commutateur -Channel est défini dans cet exemple sur STS, ce qui installe .NET 7, version en Support à terme standard la plus récente.

dotnet-install.ps1 -Channel STS

Installer avec Visual Studio

Si vous utilisez Visual Studio pour développer des applications .NET, le tableau suivant décrit la version minimale de Visual Studio requise en fonction de la version cible du Kit de développement logiciel (SDK) .NET.

Version du Kit de développement logiciel (SDK) .NET Version Visual Studio
8 Visual Studio 2022 version 17.8 ou ultérieure.
7 Visual Studio 2022 version 17.4 ou ultérieure.
6 Visual Studio 2022 version 17.0 ou ultérieure.
5 Visual Studio 2019 version 16.8 ou ultérieure.
3.1 Visual Studio 2019 version 16.4 ou ultérieure.
3.0 Visual Studio 2019 version 16.3 ou ultérieure.
2.2 Visual Studio 2017 version 15.9 ou ultérieure.
2.1 Visual Studio 2017 version 15.7 ou ultérieure.

Si Visual Studio est déjà installé, vous pouvez vérifier votre version en procédant comme suit.

  1. Ouvrez Visual Studio.
  2. Sélectionnez Aide>sur Microsoft Visual Studio.
  3. Lisez le numéro de version de la boîte de dialogue À propos.

Visual Studio peut installer le dernier SDK et le runtime .NET.

Pour plus d’informations, consultez Contrôle de version du kit de développement logiciel (SDK) .NET, de MSBuild et de Visual Studio.

Sélectionner une charge de travail

Lors de l’installation ou de la modification de Visual Studio, sélectionnez une ou plusieurs des charges de travail suivantes, selon le type d’application que vous générez :

  • La charge de travail développement multiplateforme .NET Core dans la section Autres ensembles d’outils.
  • La charge de travail ASP.NET et développement web dans la section Web et Cloud.
  • La charge de travail développement Azure dans la section Web et Cloud.
  • La charge de travail développement .NET Desktop dans la section Bureau et Mobile.

Windows Visual Studio 2019 with .NET Core workload

Versions prises en charge

Le tableau suivant répertorie les versions .NET actuellement prises en charge et les versions de Windows sur lesquelles elles sont prises en charge. Ces versions restent prises en charge jusqu’à ce que la version de .NET atteigne la fin de prise en charge ou que la version de Windows atteigne la fin de vie.

Les dates de fin de service des versions de Windows 10 sont segmentées par édition. Seules les éditions Home, Pro,Pro Educationet Pro pour stations de travail sont prises en compte dans le tableau suivant. Consultez Cycle de vie Windows pour plus d’informations.

Conseil

Un symbole + représente la version minimale.

Système d'exploitation .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server, version 1903 ou ultérieure ✔️ ✔️ ✔️
Windows 10, version 1607 ou ultérieure ✔️ ✔️ ✔️
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 version 1809+ ✔️ ✔️ ✔️
Nano Server version 1803

Pour plus d’informations sur les systèmes d’exploitation, les distributions et la stratégie de cycle de vie pris en charge par .NET 8, consultez Versions de système d’exploitation prises en charge par .NET 8.

Versions non prises en charge

Les versions suivantes de .NET ne sont ❌ plus prises en charge :

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

Vérifier les fichiers binaires téléchargés

Après avoir téléchargé un programme d’installation, vérifiez-le pour être sûr que le fichier n’a pas été changé ou endommagé. Vous pouvez vérifier la somme de contrôle sur votre ordinateur, puis la comparer à ce qui a été signalé sur le site web de téléchargement.

Quand vous téléchargez un programme d’installation ou un fichier binaire à partir d’une page de téléchargement officielle, la somme de contrôle du fichier s’affiche. Sélectionnez le bouton Copier pour copier la valeur de la somme de contrôle dans votre presse-papiers.

The .NET download page with checksum

Vous pouvez utiliser PowerShell ou l’invite de commandes pour valider la somme de contrôle du fichier que vous avez téléchargé. Par exemple, la commande suivante signale la somme de contrôle du fichier 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

Comparez la somme de contrôle avec la valeur fournie par le site de téléchargement.

Utiliser PowerShell et un fichier de somme de contrôle pour la validation

Les notes de publication de .NET contiennent un lien vers un fichier de somme de contrôle que vous pouvez utiliser pour valider votre fichier téléchargé. Les étapes suivantes décrivent comment télécharger le fichier de somme de contrôle et valider un fichier binaire d’installation .NET :

  1. La page des notes de publication de .NET 8 sur GitHub sur https://github.com/dotnet/core/tree/main/release-notes/8.0 contient une section nommée Versions. Le tableau de cette section contient des liens vers les fichiers de téléchargement et de somme de contrôle pour chaque version de .NET 8 :

    The github release notes version table for .NET

  2. Sélectionnez le lien correspondant à la version de .NET que vous avez téléchargée. La section précédente utilise le kit de développement logiciel (SDK) .NET 8.0.100, qui se trouve dans la version .NET 8.0.0.

    Conseil

    Si vous ne savez pas quelle version de .NET contient votre fichier de somme de contrôle, explorez les liens jusqu’à ce que vous le trouviez.

  3. Dans la page de publication, vous pouvez voir la version du runtime .NET et du SDK .NET, ainsi qu’un lien vers le fichier de somme de contrôle :

    The download table with checksums for .NET

  4. Copiez le lien vers le fichier de somme de contrôle.

  5. Utilisez le script suivant, mais remplacez le lien pour télécharger le fichier de somme de contrôle approprié :

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
    
  6. Avec le fichier de somme de contrôle et le fichier de version .NET téléchargés dans le même répertoire, recherchez dans le fichier de somme de contrôle la somme de contrôle du téléchargement .NET :

    Dès que la validation réussit, vous voyez True imprimé :

    > (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
    

    Si vous voyez False imprimé, le fichier que vous avez téléchargé n’est pas valide et ne doit pas être utilisé.

Informations d’exécution

Le runtime est utilisé pour exécuter des applications créées avec .NET. Lorsqu’un auteur d’application publie une application, il peut inclure le runtime avec son application. S’ils n’incluent pas le runtime, il est à l’utilisateur d’installer le runtime.

Il existe trois runtimes .NET différents que vous pouvez installer. Toutefois, vous devez installer à la fois le runtime .NET Desktop et le runtime ASP.NET Core pour bénéficier d’une compatibilité maximale avec tous les types d’applications .NET. Le tableau suivant décrit ce qui est inclus dans chaque runtime :

Inclut le runtime .NET Inclut le runtime .NET Desktop Inclut le runtime ASP.NET Core
.NET Runtime Oui No Non
Runtime .NET Desktop Oui Oui Non
Runtime ASP.NET Core Non Non Oui

La liste suivante fournit des informations sur chaque runtime :

  • Runtime Desktop
    Exécute des applications de bureau .NET WPF et Windows Forms pour Windows. Inclut le runtime .NET.

  • Runtime ASP.NET Core
    Exécute des applications ASP.NET Core.

  • .NET Runtime
    Ce runtime est le runtime le plus simple et n’inclut aucun autre runtime. Installez à la fois le runtime ASP.NET Core et le runtime Desktop pour bénéficier d’une meilleure compatibilité avec les applications .NET.

Informations sur le Kit de développement logiciel (SDK)

Le Kit de développement logiciel (SDK) est utilisé pour générer et publier des applications et bibliothèques .NET. L’installation du Kit de développement logiciel (SDK) inclut les trois runtimessuivants : ASP.NET Core, Desktop et .NET.

PC Windows ARM

Les sections suivantes décrivent les éléments à prendre en compte lors de l’installation de .NET sur un PC Windows ARM.

Ce qui est pris en charge

Le tableau suivant décrit les versions de .NET prises en charge sur un PC Windows ARM :

Version .NET Architecture Kit SDK Runtime Conflit de chemin d’accès
8 Arm64 Oui Oui Non
8 x64 Oui Oui Non
7 Arm64 Oui Oui Non
7 x64 Oui Oui Non
6 Arm64 Oui Oui Non
6 x64 Oui Oui Non
5 Arm64 Oui Oui Oui
5 x64 Non Oui Oui

Les versions x64 et Arm64 du Kit de développement logiciel (SDK) .NET existent indépendamment l’une de l’autre. Si une nouvelle version est publiée, chaque installation d’architecture doit être mise à niveau.

Différences de chemin d’accès

Sur un PC Windows ARM, toutes les versions arm64 de .NET sont installées dans le dossier C:\Program Files\dotnet\ habituel. Toutefois, la version x64 du Kit de développement logiciel (SDK) .NET est installée dans le dossier C:\Program Files\dotnet\x64\.

Conflits de chemin d’accès

Le Kit de développement logiciel (SDK) .NET x64 s’installe dans son propre répertoire, comme décrit dans la section précédente. Cela permet aux versions Arm64 et x64 du Kit de développement logiciel (SDK) .NET d’exister sur le même ordinateur. Toutefois, tout SDK x64 antérieur à 6 n’est pas pris en charge et s’installe au même emplacement que la version Arm64, le dossier C:\Program Files\dotnet\ . Si vous souhaitez installer un Kit de développement logiciel (SDK) x64 non pris en charge, vous devez d’abord désinstaller la version Arm64. L'inverse est également vrai, vous devez désinstaller le Kit de développement logiciel (SDK) x64 non pris en charge pour installer la version Arm64.

Variables de chemin d’accès

Les variables d’environnement qui ajoutent .NET au chemin d’accès système, telles que la variable PATH, peuvent être modifiées si vous disposez des versions x64 et Arm64 du Kit de développement logiciel (SDK) .NET installées. En outre, certains outils s’appuient sur la variable d’environnement DOTNET_ROOT, qui doit également être mise à jour pour pointer vers le dossier d’installation du Kit de développement logiciel (SDK) .NET approprié.

Les dépendances

Les versions Windows suivantes sont prises en charge avec .NET 8 :

Remarque

Un symbole + représente la version minimale.

Système d''exploitation Version Architectures
Windows 11 22000+ x64, x86, Arm64
Client Windows 10 1607+ x64, x86, Arm64
Windows Server 2012+ x64, x86
Ordinateur Windows Server principal 2012+ x64, x86
Nano Server 1809+ x64

Pour plus d’informations sur les systèmes d’exploitation, les distributions et la stratégie de cycle de vie pris en charge par .NET 8, consultez Versions de système d’exploitation prises en charge par .NET 8.

Windows 7 / 8.1 / Server 2012

D’autres dépendances sont requises si vous installez le Kit de développement logiciel (SDK) .NET ou le runtime sur les versions Windows suivantes :

Système d’exploitation Prérequis
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 Redistribuable 64 bits / 32 bits
- KB3063858 64-bit / 32-bit
- Autorité de certification racine Microsoft 2011 (programme d’installation hors connexion .NET Core 2.1 uniquement)
Windows 8.1 Microsoft Visual C++ 2015-2019 Redistribuable 64 bits / 32 bits
Windows Server 2012 Microsoft Visual C++ 2015-2019 Redistribuable 64 bits / 32 bits
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 Redistribuable 64 bits / 32 bits

Les exigences précédentes sont également requises si vous recevez une erreur liée à l’une des DLL suivantes :

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Docker

Les conteneurs offrent un moyen léger d’isoler votre application du reste du système hôte. Les conteneurs sur le même ordinateur partagent uniquement le noyau et utilisent les ressources fournies à votre application.

.NET peut être exécuté dans un conteneur Docker. Les images Docker .NET Core officielles sont publiées dans Microsoft Container Registry (MCR) et détectables dans le référentiel Microsoft .NET Docker Hub. Chaque référentiel contient des images pour différentes combinaisons possibles de .NET (kit de développement logiciel ou runtime) et du système d’exploitation.

Microsoft fournit des images adaptées à des scénarios particuliers. Par exemple, celles du référentiel ASP.NET Core sont conçues pour exécuter des applications ASP.NET Core en production.

Pour plus d’informations sur l’utilisation de .NET dans un conteneur Docker, consultez Introduction à .NET et Docker et Exemples.

Dépannage

Après avoir installé le Kit de développement logiciel (SDK) .NET, vous pouvez rencontrer des problèmes lors de la tentative d’exécution des commandes CLI .NET. Cette section collecte ces problèmes courants et fournit des solutions.

Aucun Kit de développement logiciel (SDK) .NET n’a été trouvé

La raison probable est que vous avez installé à la fois la version x86 (32 bits) et la version x64 (64 bits) du Kit de développement logiciel (SDK) .NET. Cela provoque un conflit, car lorsque vous exécutez la commande dotnet, elle est résolue vers la version x86 alors qu’elle devrait être résolue vers la version x64. Cela est généralement résolu en ajustant la variable %PATH% pour résoudre la version x64 en premier.

  1. Vérifiez que les deux versions sont installées en exécutant la commande where.exe dotnet . Après cela, vous devez voir une entrée pour les dossiers Program Files\ et Program Files (x86)\. Si le dossier Program Files (x86)\ est d’abord indiqué, comme indiqué par l’exemple suivant, il y a une erreur et vous devez passer à l’étape suivante.

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe
    C:\Program Files\dotnet\dotnet.exe
    

    S’il n’y a pas d’erreur et que program Files\ est en premier, vous n’avez pas le problème que cette section traite et vous pouvez créer une demande d’aide .NET sur GitHub

  2. Appuyez sur le bouton Windows et tapez « Modifier les variables d’environnement système » dans la barre de recherche. Sélectionnez Modifier les variables d’environnement système.

    Windows start menu with edit environment variable

  3. La fenêtre Propriétés système s’ouvre sur l’onglet Avancé. Sélectionnez Variables d’environnement.

    The Windows system properties panel open.

  4. Dans la fenêtre Variables d’environnement, sous le groupe Variables système, sélectionnez la ligne Path*, puis sélectionnez le bouton Modifier.

    The environment variables window with user and system variables.

  5. Utilisez les boutons Déplacer vers le haut et Déplacer vers le bas pour déplacer l’entrée C:\Program Files\dotnet\ au-dessus de C:\Program Files (x86)\dotnet\.

    The environment variables list for the system.

La création d’applications est plus lente que prévu

Vérifiez que Smart App Control, une fonctionnalité Windows, est désactivée. Il n’est pas recommandé d’activer Smart App Control sur les ordinateurs utilisés pour le développement. Tout paramétrage autre que « Désactivée » peut avoir un impact négatif sur les performances du kit de développement logiciel (SDK).

Étapes suivantes