Installer .NET sur macOS

Dans cet article, vous apprendrez comment installer .NET sur macOS. .NET est constitué du runtime et du kit SDK. Le runtime est utilisé pour exécuter une application .NET et peut ou non être 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 la version 8.

Versions prises en charge

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 support .NET.

Le tableau suivant répertorie les versions .NET actuellement prises en charge et les versions de macOS sur lesquelles elles sont prises en charge :

Système d'exploitation .NET 8 (LTS) .NET 7 (STS) .NET 6 (LTS)
macOS 14.0 « Sonoma » ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 13.0 « Ventura » ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 12.0 « Monterey » ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 11.0 « Big Sur » ✔️ 7.0 ✔️ 6.0
macOS 10.15 « Catalina » ✔️ 7.0 ✔️ 6.0

Pour obtenir la liste complète des versions de .NET et leur cycle de vie de prise en charge, consultez la stratégie de support .NET.

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

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’il n’inclut pas le runtime, il revient à l’utilisateur de le faire.

Il existe deux runtimes différents que vous pouvez installer sur macOS :

  • Runtime ASP.NET Core
    Exécute des applications ASP.NET Core. Inclut le runtime .NET.

  • Runtime .NET
    Il s’agit du runtime le plus simple. Il n’inclut aucun autre runtime. Il est vivement recommandé d’installer le runtime ASP.NET Core pour bénéficier de la 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 SDK inclut les deux runtimes : ASP.NET Core et .NET.

Notarisation

À compter de macOS Catalina (version 10.15), tous les logiciels développés après le 1er juin 2019 distribués avec l’ID Développeur doivent être notarisés. Cette exigence s’applique au runtime .NET, au SDK .NET et aux logiciels créés avec .NET.

Les programmes d’installation du runtime et du SDK pour .NET ont été notarisés depuis le 18 février 2020. Les versions antérieures publiées ne sont pas notarisées. Si vous exécutez une application non notarisée, une erreur semblable à l’image suivante s’affiche :

Alerte de notarisation de macOS Catalina

Pour plus d’informations sur la façon dont la notarisation appliquée affecte .NET (et vos applications .NET), consultez Utilisation de la notarisation de macOS Catalina.

libgdiplus

Les applications .NET qui utilisent l’assembly System.Drawing.Common nécessitent l’installation de libgdiplus.

Un moyen simple d’obtenir libgdiplus consiste à utiliser le gestionnaire de package Homebrew (« brew ») pour macOS. Après avoir installé brew, installez libgdiplus en exécutant les commandes suivantes dans une invite (de commande) Terminal :

brew update
brew install mono-libgdiplus

Installation automatisée

macOS possède des programmes d’installation autonomes qui peuvent être utilisés pour installer .NET :

Installation manuelle

En guise d’alternative aux programmes d’installation macOS pour .NET, vous pouvez télécharger et installer manuellement le SDK et le runtime. L’installation manuelle est généralement effectuée dans le cadre de tests d’intégration continus. Pour un développeur ou un utilisateur, il est généralement préférable d’utiliser un programme d’installation.

Téléchargez une version binaire pour le SDK ou le runtime à partir de l’un des sites suivants. Le SDK .NET inclut le runtime correspondant :

Extrayez le fichier téléchargé et utilisez la commande export pour définir DOTNET_ROOT sur l’emplacement du dossier extrait, puis vérifiez que .NET figure dans PATH. L’exportation de DOTNET_ROOT rend les commandes CLI .NET disponibles dans le terminal. Pour plus d’informations sur les variables d’environnement NET, consultez Variables d’environnement du SDK .NET et de l’interface CLI .NET.

Différentes versions de .NET peuvent être extraites dans le même dossier, et coexister côte à côte.

Exemple

Les commandes suivantes utilisent Bash pour définir la variable d’environnement DOTNET_ROOT sur le répertoire de travail actuel suivi de .dotnet. Ce répertoire est créé s’il n’existe pas. La variable d’environnement DOTNET_FILE est le nom de fichier de la version binaire de .NET que vous souhaitez installer. Ce fichier est extrait dans le répertoire DOTNET_ROOT. Le répertoire DOTNET_ROOT et son sous-répertoire tools sont ajoutés à la variable d’environnement PATH.

Important

Si vous exécutez ces commandes, n’oubliez pas de remplacer la valeur DOTNET_FILE par le nom du fichier binaire .NET que vous avez téléchargé.

DOTNET_FILE=dotnet-sdk-8.0.100-osx-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

Vous pouvez installer plusieurs versions de .NET dans le même dossier.

Vous pouvez également installer .NET dans le répertoire de base identifié par la variable HOME ou le chemin d’accès ~ :

export DOTNET_ROOT=$HOME/.dotnet

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.

Page de téléchargement de .NET avec la somme de contrôle

Utilisez la commande sha512sum pour imprimer la somme de contrôle du fichier que vous avez téléchargé. Par exemple, la commande suivante indique la somme de contrôle du fichier dotnet-sdk-8.0.100-linux-x64.tar.gz :

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

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

Important

Ces exemples présentent un fichier Linux, mais ces informations s’appliquent également à macOS.

Utiliser un fichier de somme de contrôle pour 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 :

    Tableau des versions de notes de publication github pour .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.

  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 :

    Tableau de téléchargement avec les sommes de contrôle de .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é :

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Avec le fichier de somme de contrôle et le fichier de mise en production .NET téléchargés dans le même répertoire, utilisez la commande sha512sum -c {file} --ignore-missing pour valider le fichier téléchargé.

    Lorsque la validation réussit, vous voyez le fichier marqué avec l’état OK :

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

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

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Définir des variables d’environnement à l’échelle du système

Si vous avez utilisé les instructions de la section Exemple d’installation manuelle, les variables définies s’appliquent uniquement à votre session de terminal actuelle. Ajoutez-les à votre profil d’interpréteur de commandes. De nombreux interpréteurs de commandes sont disponibles pour macOS et chacun présente un profil différent. Par exemple :

  • Interpréteur de commandes Bash : ~/.profile, /etc/profile
  • Interpréteur de commandes Korn : ~/.kshrc ou .profile
  • Shell Z : ~/.zshrc ou .zprofile

Définissez les deux variables d’environnement suivantes dans votre profil d’interpréteur de commandes :

  • DOTNET_ROOT

    Cette variable est définie sur le dossier sur lequel .NET a été installé, par exemple $HOME/.dotnet :

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Cette variable doit inclure à la fois le dossier DOTNET_ROOT et le dossier DOTNET_ROOT/tools :

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Mac basés sur Arm

Les sections suivantes décrivent les éléments à prendre en compte lors de l’installation de .NET sur un Mac basé sur Arm.

Opérations prises en charge

Le tableau suivant décrit les versions de .NET prises en charge sur un Mac basé sur 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

À compter de .NET 6, les versions x64 et Arm64 du SDK .NET existent indépendamment les unes des autres. Si une nouvelle version est publiée, chaque installation doit être mise à niveau.

Différences de chemin d’accès

Sur un Mac basé sur Arm, toutes les versions arm64 de .NET sont installées dans le dossier /usr/local/share/dotnet/ normal. Toutefois, lorsque vous installez la version x64 du kit de développement logiciel (SDK) .NET, elle est installée dans le dossier /usr/local/share/dotnet/x64/dotnet/.

Conflits de chemin d’accès

À compter de .NET 6, le SDK .NET x64 est installé dans son propre répertoire, comme décrit dans la section précédente. Cela permet aux versions Arm64 et x64 du SDK .NET d’exister sur le même ordinateur. Toutefois, les SDK x64 antérieurs à .NET 6 ne sont pas pris en charge et s’installent au même emplacement que la version Arm64, le dossier /usr/local/share/dotnet/. Si vous souhaitez installer un 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 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 du système, telles que la variable PATH, devront peut-être être modifiées si les versions x64 et Arm64 du SDK .NET 6 sont installées. En outre, certains outils s’appuient sur la variable d’environnement DOTNET_ROOT, qui doit également être mise à jour afin de pointer vers le dossier d’installation approprié du SDK .NET 6.

Installer avec Visual Studio pour Mac

Visual Studio pour Mac installe le SDK .NET lorsque la charge de travail .NET est sélectionnée. Pour démarrer le développement .NET sur macOS, consultez Installer Visual Studio 2022 pour Mac.

Important

Visual Studio pour Mac va être mis hors service. Pour obtenir plus d’informations, consultez Qu’arrive-t-il à Visual Studio pour Mac ?.

Version du Kit de développement logiciel (SDK) .NET Version Visual Studio
8.0 Visual Studio 2022 pour Mac 17.6.1 ou version ultérieure. (Disponible en tant que fonctionnalité d’évaluation uniquement.)
7.0 Visual Studio 2022 pour Mac 17.4 ou version ultérieure.
6.0 Visual Studio 2022 pour Mac 17.0 ou version ultérieure.

macOS Visual Studio 2022 pour Mac avec la charge de travail .NET sélectionnée.

Important

Microsoft a annoncé la mise hors service de Visual Studio pour Mac. Visual Studio pour Mac ne sera plus pris en charge à compter du 31 août 2024. Il existe des alternatives :

Pour plus d’informations, consultez l’annonce de mise hors service de Visual Studio pour Mac.

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 n’inclut pas de programme d’installation .NET automatisé comme Visual Studio, il est simple d’ajouter la prise en charge de .NET.

  1. Téléchargez et installez Visual Studio Code.
  2. Téléchargez et installez le SDK .NET.
  3. Installez l’extension C# à partir de la Place de marché Visual Studio Code.

Installer avec l’automatisation bash

Les scripts dotnet-install sont utilisés pour l’automatisation et les installations par un non-administrateur du runtime. Vous pouvez télécharger le script sur la page de référence des scripts 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 le runtime ASP.NET Core pour une compatibilité maximale. Le runtime ASP.NET Core inclut également le runtime .NET standard.

./dotnet-install.sh --channel 8.0 --runtime aspnetcore

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.

Étapes suivantes