Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Notes
Le comportement du script d’installation a changé. Il télécharge .NET à partir de nouveaux emplacements réseau. Pour plus d’informations, consultez critique : les liens d’installation .NET changent.
Nom
dotnet-install.ps1
|
dotnet-install.sh - Script utilisé pour installer le SDK .NET et le runtime partagé.
Synopsis
Windows :
dotnet-install.ps1 [-Architecture <ARCHITECTURE>] [-AzureFeed]
[-Channel <CHANNEL>] [-DryRun] [-FeedCredential]
[-InstallDir <DIRECTORY>] [-JSonFile <JSONFILE>]
[-NoPath] [-ProxyAddress] [-ProxyBypassList <LIST_OF_URLS>]
[-ProxyUseDefaultCredentials] [-Quality <QUALITY>] [-Runtime <RUNTIME>]
[-SkipNonVersionedFiles] [-UncachedFeed] [-KeepZip] [-ZipPath <PATH>] [-Verbose]
[-Version <VERSION>]
Get-Help ./dotnet-install.ps1
Linux/macOS :
dotnet-install.sh [--architecture <ARCHITECTURE>] [--azure-feed]
[--channel <CHANNEL>] [--dry-run] [--feed-credential]
[--install-dir <DIRECTORY>] [--jsonfile <JSONFILE>]
[--no-path] [--quality <QUALITY>]
[--runtime <RUNTIME>] [--runtime-id <RID>]
[--skip-non-versioned-files] [--uncached-feed] [--keep-zip] [--zip-path <PATH>] [--verbose]
[--version <VERSION>]
dotnet-install.sh --help
Comme le script bash lit également les commutateurs PowerShell, vous pouvez utiliser ces derniers avec le script sur les systèmes Linux/macOS.
Descriptif
Les scripts dotnet-install effectuent une installation non administrateur du SDK .NET, qui inclut l’interface CLI .NET et le runtime partagé. Il existe deux scripts :
- Un script PowerShell qui fonctionne sur Windows. Pour des instructions d'installation, consultez Installer les outils pour iOS.
- Un script bash qui fonctionne sur Linux/macOS. Pour obtenir des instructions d’installation, consultez Installer sur Linux et Installer sur macOS.
Notes
.NET collecte les données de télémétrie. Pour plus d’informations et sur la désactivation, consultez la télémétrie SDK .NET.
Objectif
L’utilisation prévue des scripts est destinée aux scénarios d’intégration continue (CI), où :
Le SDK doit être installé sans interaction utilisateur et sans droits d’administrateur.
L’installation du SDK n’a pas besoin de conserver plusieurs exécutions CI.
Séquence classique d’événements :
- CI est déclenché.
- CI installe le SDK à l’aide de l’un de ces scripts.
- CI termine son travail et efface les données temporaires, y compris l’installation du SDK.
Pour configurer un environnement de développement ou exécuter des applications, utilisez les programmes d’installation plutôt que ces scripts.
Version recommandée
Nous vous recommandons d’utiliser la version stable des scripts :
- Bash (Linux/macOS) : https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows) : https://dot.net/v1/dotnet-install.ps1
La source des scripts se trouve dans le référentiel GitHub dotnet/install-scripts.
Comportement du script
Les deux scripts ont le même comportement. Ils téléchargent le fichier ZIP/tarball à partir des cibles de builds CLI, puis poursuivent l’installation dans l’emplacement par défaut ou dans un emplacement spécifié par -InstallDir|--install-dir.
Par défaut, les scripts d’installation téléchargent et installent le Kit de développement logiciel (SDK). Si vous souhaitez obtenir uniquement le runtime partagé, spécifiez l’argument -Runtime|--runtime.
Par défaut, le script ajoute l’emplacement d’installation $PATH pour la session active. Remplacez ce comportement par défaut en spécifiant l’argument -NoPath|--no-path. Le script ne définit pas la variable d’environnement DOTNET_ROOT.
Important
Le script n’ajoute pas l’emplacement d’installation à la variable d’environnement de PATH l’utilisateur. Vous devez l’ajouter manuellement.
Avant d’exécuter le script, vérifiez que votre système d’exploitation est pris en charge. Pour plus d’informations, consultez Installer .NET sur Windows, Linux et macOS.
Vous pouvez installer une version spécifique à l’aide de l’argument -Version|--version. La version doit être spécifiée en trois parties (par exemple, 2.1.0). Si la version n’est pas spécifiée, le script installe la version latest.
Les scripts d’installation ne mettent pas à jour le Registre sur Windows. Ils téléchargent simplement les fichiers binaires compressés et les copient dans un dossier. Si vous souhaitez que les valeurs de clé de Registre soient mises à jour, utilisez les programmes d’installation .NET.
Paramètres
-Architecture|--architecture <ARCHITECTURE>Architecture des fichiers binaires .NET à installer. Les valeurs possibles sont
<auto>, ,amd64x64,x86arm64arms390xppc64leet .riscv64La valeur par défaut est<auto>, qui représente l’architecture de système d’exploitation en cours d’exécution.-AzureFeed|--azure-feedÀ usage interne uniquement. Permet d’utiliser un autre stockage pour télécharger les archives du SDK. Par défaut, il s’agit de
https://builds.dotnet.microsoft.com/dotnet.-Channel|--channel <CHANNEL>Spécifie le canal source pour l’installation. Les valeurs possibles sont :
-
STS: la version la plus récente de STS (Standard Term Support). -
LTS: la version la plus récente de LTS (Long Term Support). - Version en deux parties au format A.B représentant une version spécifique (par exemple,
3.1ou8.0). - Version en trois parties au format A.B.Cxx, représentant une version spécifique du SDK (par exemple, 8.0.1xx ou 8.0.2xx). Disponible depuis la version 5.0.
Le paramètre
versionremplace le paramètrechannellorsqu’une version autre quelatestest utilisée.La valeur par défaut est
LTS. Pour plus d’informations sur les canaux de prise en charge de .NET, consultez la page Stratégie de prise en charge .NET.-
-DryRun|--dry-runSi cette option est définie, le script n’effectue pas l’installation. Au lieu de cela, il affiche la ligne de commande à utiliser pour installer de manière cohérente la version actuellement demandée de l’interface CLI .NET. Par exemple, si vous spécifiez la version
latest, elle affiche un lien avec la version spécifique, pour que cette commande puisse être utilisée de façon déterministe dans un script de génération. Elle affiche également l’emplacement du fichier binaire si vous préférez l’installer ou le télécharger vous-même.-FeedCredential|--feed-credentialValeur utilisée comme chaîne de requête à ajouter au flux Azure. Elle permet de changer l’URL afin d’utiliser des comptes de stockage d’objets blob non publics.
--helpAffiche l’aide pour le script. S’applique uniquement au script bash. Pour PowerShell, utilisez
Get-Help ./dotnet-install.ps1.-InstallDir|--install-dir <DIRECTORY>Spécifie le chemin d’accès de l’installation. S’il n’existe pas déjà, le répertoire est créé. La valeur par défaut est %LocalAppData%\Microsoft\dotnet sur Windows et $HOME/.dotnet sur Linux/macOS. Les fichiers binaires sont placés directement dans ce répertoire.
-JSonFile|--jsonfile <JSONFILE>Spécifie un chemin d’accès à un fichier global.json qui sera utilisé pour déterminer la version du SDK. Le fichier global.json doit avoir une valeur pour
sdk:version.-NoPath|--no-pathSi cette option est définie, le dossier d’installation n’est pas exporté dans le chemin de la session actuelle. Par défaut, le script modifie le chemin d’accès, ce qui rend l’interface CLI .NET disponible immédiatement après l’installation.
-ProxyAddressSi cette option est définie, le programme d’installation utilise le proxy pendant la création de demandes web. (Valide uniquement pour Windows.)
-ProxyBypassList <LIST_OF_URLS>S’il est défini avec
ProxyAddress, fournit une liste d’URL séparées par des virgules qui contournent le proxy. (Valide uniquement pour Windows.)-ProxyUseDefaultCredentialsSi cette option est définie, le programme d’installation utilise les informations d’identification de l’utilisateur actuel lors de l’utilisation de l’adresse proxy. (Valide uniquement pour Windows.)
-Quality|--quality <QUALITY>Télécharge la dernière version de la qualité spécifiée dans le canal. Les valeurs possibles sont :
daily,previewetGA.Les différentes valeurs de qualité signalent les différentes étapes du processus de mise en production du Kit de développement logiciel (SDK) ou du runtime installé.
-
daily: les versions les plus récentes du kit de développement logiciel (SDK) ou du runtime. Elles sont développées tous les jours et ne sont pas testés. Elles ne sont pas recommandées pour une utilisation en production mais peuvent souvent être utilisées pour tester des fonctionnalités ou des correctifs spécifiques immédiatement après leur fusion dans le produit. Ces builds proviennent du référentieldotnet/installer. Par conséquent, si vous recherchez des correctifs provenant dedotnet/sdk, vous devez attendre que le code soit publié et fusionné du kit de développement logiciel (SDK) vers le programme d’installation, avant qu’il n’apparaisse dans une build quotidienne. -
preview: les versions publiques mensuelles de la prochaine version de .NET, destinées à une utilisation publique. Non recommandées pour la production. Destinées à permettre aux utilisateurs d’expérimenter et de tester la nouvelle version majeure avant la version principale. -
GA: les versions finales stables du kit de développement logiciel (SDK) .NET et du runtime. Destinées à une utilisation publique ainsi qu’à la prise en charge de la production.
L’option
--qualityfonctionne uniquement en combinaison avec--channel, mais ne s’applique pas aux canauxSTSniLTS, et elle est ignorée si l’un de ces canaux est utilisé.Pour une installation du Kit de développement logiciel (SDK), utilisez une valeur
channelau formatA.BouA.B.Cxx. Pour une installation du runtime, utilisezchanneldans le formatA.B.N’utilisez pas les deux paramètres
versionetquality. Quandqualityest spécifié, le script détermine la version appropriée par elle-même.Disponible depuis la version 5.0.
-
-Runtime|--runtime <RUNTIME>Installe uniquement le runtime partagé et non l’intégralité du SDK. Les valeurs possibles sont :
-
dotnet: le runtime partagéMicrosoft.NETCore.App. -
aspnetcore: le runtime partagéMicrosoft.AspNetCore.App. -
windowsdesktopLe runtime partagéMicrosoft.WindowsDesktop.App.
-
--os <OPERATING_SYSTEM>Spécifie le système d’exploitation pour lequel les outils sont installés. Les valeurs possibles sont :
osx,macos,linux,linux-musl,freebsd.Le paramètre est facultatif et doit être utilisé uniquement lorsqu’il est nécessaire de remplacer le système d’exploitation détecté par le script.
-SharedRuntime|--shared-runtimeNotes
Ce paramètre est obsolète et sera peut-être supprimé dans une future version du script. L'alternative recommandée est l’option
-Runtime|--runtime.Installe uniquement les bits du runtime partagé et non l’intégralité du SDK. Cette option équivaut à spécifier
-Runtime|--runtime dotnet.-SkipNonVersionedFiles|--skip-non-versioned-filesIgnore l’installation des fichiers sans version, notamment dotnet.exe, s’ils existent déjà.
-UncachedFeed|--uncached-feedÀ usage interne uniquement. Permet d’utiliser un autre stockage pour télécharger les archives du SDK. Ce paramètre remplace
-AzureFeed|--azure-feed.-KeepZip|--keep-zipSi elle est définie, l’archive du Kit de développement logiciel (SDK) téléchargée est conservée après l’installation.
-ZipPath|--zip-path <PATH>Si elle est définie, l’archive du Kit de développement logiciel (SDK) téléchargée est stockée sur le chemin d’accès spécifié.
-Verbose|--verboseAffiche les informations de diagnostic.
-Version|--version <VERSION>Représente une version spécifique. Les valeurs possibles sont :
-
latest: la dernière build sur le canal (utilisée avec l’option-Channel). - Version en trois parties au format X.Y.Z représentant une version spécifique ; remplace l’option
-Channel. Par exemple :2.0.0-preview2-006120.
Si aucune valeur n’est spécifiée,
-Versionest définie par défaut surlatest.-
Exemples
Installez la dernière version LTS (Long Term Support) à l’emplacement par défaut :
Windows :
./dotnet-install.ps1 -Channel LTSMac OS/Linux :
./dotnet-install.sh --channel LTSInstallez la dernière préversion du SDK 6.0.1xx à l’emplacement spécifié :
Windows :
./dotnet-install.ps1 -Channel 6.0.1xx -Quality preview -InstallDir C:\cliMac OS/Linux :
./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cliInstallez la version 6.0.0 du runtime partagé :
Windows :
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0Mac OS/Linux :
./dotnet-install.sh --runtime dotnet --version 6.0.0Obtenir le script et installer la version 6.0.2 derrière un proxy d’entreprise (Windows uniquement) :
Invoke-WebRequest 'https://dot.net/v1/dotnet-install.ps1' -Proxy $env:HTTP_PROXY -ProxyUseDefaultCredentials -OutFile 'dotnet-install.ps1'; ./dotnet-install.ps1 -InstallDir '~/.dotnet' -Version '6.0.2' -Runtime 'dotnet' -ProxyAddress $env:HTTP_PROXY -ProxyUseDefaultCredentials;Obtenir des exemples de script et d’installation de l’interface CLI .NET :
Windows :
# Run a separate PowerShell process because the script calls exit, so it will end the current PowerShell session. &powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) <additional install-script args>"Mac OS/Linux :
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin <additional install-script args>Installez plusieurs versions sans remplacer les
dotnetfichiers binaires à partir des installations précédentes.Si vous installez des kits SDK .NET ou le runtime .NET à partir d’une version antérieure au-dessus d’une version plus récente, vous devez utiliser
--skip-non-versioned-filesafin que les fichiers « non versionnés »dotnetde la version antérieure ne remplacent pas les mêmes fichiers à partir de la version plus récente.:~ $ ./dotnet-install.sh --channel 9.0 --install-dir local-dotnet # installs the latest 9 SDK to the specified directory dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz size is 218004272 bytes. dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz dotnet-install: Downloaded file size is 218004272 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 9.0.303 dotnet-install: Adding to current process PATH: `$HOME/local-dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully. :~ $ ./local-dotnet/dotnet --list-runtimes # see what runtimes we have available Microsoft.AspNetCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] :~ $ ./local-dotnet/dotnet --list-sdks # see what SDKs we have available 9.0.303 [$HOME/local-dotnet/sdk] :~ $ ./dotnet-install.sh --channel 8.0 --install-dir local-dotnet --skip-non-versioned-files # install the 8 SDK to the same place, but keep the 9 dotnet binaries dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz size is 216096947 bytes. dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz dotnet-install: Downloaded file size is 216096947 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 8.0.412 dotnet-install: Adding to current process PATH: `$HOME/local-dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully. :~ $ ./local-dotnet/dotnet --list-runtimes # we should have 8 and 9 Runtimes now Microsoft.AspNetCore.App 8.0.18 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 8.0.18 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] :~ $ ./local-dotnet/dotnet --list-sdks # we should have 2 SDKs now 8.0.412 [$HOME/local-dotnet/sdk] 9.0.303 [$HOME/local-dotnet/sdk]
Définir des variables d’environnement
L’installation manuelle de .NET n’ajoute pas les variables d’environnement à l’échelle du système et fonctionne généralement uniquement pour la session dans laquelle .NET a été installé. Il y a deux variables d’environnement que vous devez définir pour votre système d’exploitation :
DOTNET_ROOTCette variable est définie sur le dossier .NET sur lequel .NET a été installé, par
$HOME/.dotnetexemple pour Linux et macOS, et$HOME\.dotnetdans PowerShell pour Windows.PATHCette variable doit inclure à la fois le dossier
DOTNET_ROOTet le dossier .dotnet/tools de l’utilisateur. En règle générale, il s’agit de$HOME/.dotnet/toolssur Linux et macOS, et$HOME\.dotnet\toolsdans PowerShell sur Windows.
Conseil
Pour Linux et macOS, utilisez la commande echo pour définir les variables dans votre profil shell, telles que .bashrc :
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
Désinstaller l’interface
Il n’existe aucun script de désinstallation. Pour obtenir des informations sur la désinstallation manuelle de .NET, consultez Procédure de suppression du runtime et du kit de développement logiciel (SDK) .NET.
Validation de signature de dotnet-install.sh
La validation de signature est une mesure de sécurité importante qui permet de vérifier l’authenticité et l’intégrité d’un script. En vérifiant la signature d’un script, vous pouvez veiller à ce qu’il n’ait pas été falsifié et qu’il provient d’une source approuvée.
Voici un guide pas à pas sur la façon de vérifier l’authenticité du script dotnet-install.sh en utilisant GPG :
- Installer GPG : GPG (GNU Privacy Guard) est un outil gratuit et open source pour chiffrer et signer des données. Vous pouvez l’installer en suivant les instructions du site web GPG.
-
Importer notre clé publique : téléchargez le fichier de clé publique install-scripts, puis importez-le dans votre porte-clés GPG en exécutant la commande
gpg --import dotnet-install.asc. -
Télécharger le fichier de signature : le fichier de signature de notre script Bash est disponible sur
https://dot.net/v1/dotnet-install.sig. Vous pouvez le télécharger en utilisant un outil commewgetoucurl. -
Vérifier la signature : pour vérifier la signature de notre script Bash, exécutez la commande
gpg --verify dotnet-install.sig dotnet-install.sh. Cette opération vérifie la signature du fichierdotnet-install.shpar rapport à la signature dans le fichierdotnet-install.sig. -
Vérifier le résultat : si la signature est valide, vous voyez un message contenant
Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>". Cela indique que le script n’a pas été falsifié et peut être approuvé.
Préparation de l’environnement
L’installation de GPG et l’importation de notre clé publique est une opération unique.
sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc
En cas de réussite, vous devriez voir une sortie qui ressemble à ce qui suit :
gpg: directory '/home/<user>/.gnupg' created
gpg: keybox '/home/<user>/.gnupg/pubring.kbx' created
gpg: /home/<user>/.gnupg/trustdb.gpg: trustdb created
gpg: key B9CF1A51FC7D3ACF: public key "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
Téléchargement et vérification
Une fois la clé importée, vous pouvez maintenant télécharger le script et la signature, puis vérifier que le script correspond à la signature :
wget https://dot.net/v1/dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sig
gpg --verify dotnet-install.sig dotnet-install.sh
En cas de réussite, vous devriez voir une sortie qui ressemble à ce qui suit :
gpg: Signature made <datetime>
gpg: using RSA key B9CF1A51FC7D3ACF
gpg: Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2B93 0AB1 228D 11D5 D7F6 B6AC B9CF 1A51 FC7D 3ACF
L’avertissement signifie que vous n’approuvez pas la clé publique dans le porte-clés, mais que le script est toujours vérifié. Le code de sortie retourné par la commande de vérification doit être 0, ce qui indique une réussite.