Outil de désinstallation .NET

L’outil de désinstallation .NET (dotnet-core-uninstall) vous permet de supprimer des Kits de développement logiciel (SDK) et des runtimes .NET d’un système. Une collection d’options est disponible pour spécifier les versions que vous souhaitez désinstaller.

L’outil prend en charge Windows et macOS. Pour le moment, Linux n’est pas pris en charge.

Sur Windows, l’outil peut uniquement désinstaller les Kits de développement logiciel (SDK) et les runtimes qui ont été installés à l’aide de l’un des programmes d’installation suivants :

  • Le kit de développement logiciel (SDK) .NET et le programme d’installation du runtime.
  • Programme d’installation de Visual Studio dans les versions antérieures à Visual Studio 2019 version 16.3.

Sur macOS, l’outil peut uniquement désinstaller les Kits de développement logiciel (SDK) et les runtimes situés dans le dossier /usr/local/share/dotnet.

En raison de ces limitations, l’outil peut ne pas être en mesure de désinstaller tous les Kits de développement logiciel (SDK) et runtimes .NET sur votre ordinateur. Vous pouvez utiliser la commande dotnet --info pour rechercher tous les Kits de développement logiciel (SDK) et runtimes .NET installés, y compris les Kits de développement logiciel (SDK) et les runtimes que l’outil ne peut pas supprimer. La commande dotnet-core-uninstall list affiche les Kits de développement logiciel (SDK) qui peuvent être désinstallés avec l’outil.

Remarque

Actuellement, Désinstaller .NET ne prend pas en charge .NET 8+. Pour obtenir plus d’informations sur la planification de mise en production de l’outil, consultez GitHub – Feuille de route dotnet-uninstall-tool.

Installer l’outil

Vous pouvez télécharger l’outil de désinstallation .NET à partir de la page des versions de l’outil et trouver le code source dans le référentiel GitHub dotnet/cli-lab.

Notes

L’outil nécessite une élévation pour désinstaller les Kits de développement logiciel (SDK) et les runtimes .NET. Par conséquent, il doit être installé dans un répertoire protégé en écriture, tel que C:\Program Files sur Windows ou /usr/local/bin sur macOS. Pour plus d’informations, consultez l’accès élevé pour les commandes dotnet et les instructions d’installation détaillées.

Exécution de l'outil

Les étapes suivantes montrent l’approche recommandée pour exécuter l’outil de désinstallation :

Étape 1 : afficher les Kits de développement logiciel (SDK) .NET et les runtimes installés

La commande dotnet-core-uninstall list répertorie les Kits de développement logiciel (SDK) .NET et les runtimes installés qui peuvent être supprimés avec cet outil. Certains Kits de développement logiciel (SDK) et runtimes peuvent être requis par Visual Studio et s’affichent avec une note indiquant pourquoi il n’est pas recommandé de les désinstaller.

Notes

La sortie de la commande dotnet-core-uninstall list ne correspond pas à la liste des versions installées dans la sortie de dotnet --info dans la plupart des cas. Plus précisément, cet outil n’affiche pas les versions installées par les fichiers zip ou gérées par Visual Studio (toute version installée avec Visual Studio 2019 version 16.3 ou ultérieure). Une façon de vérifier si une version est managée par Visual Studio consiste à l’afficher dans Add or Remove Programs, où les versions managées de Visual Studio sont marquées comme telles dans leurs noms d’affichage.

Pour plus d’informations, consultez la commande de liste plus loin dans cet article.

Étape 2 : effectuer un essai

Les commandes dotnet-core-uninstall dry-run et dotnet-core-uninstall whatif affichent les Kits de développement logiciel (SDK) et runtimes .NET qui seront supprimés en fonction des options fournies sans effectuer la désinstallation. Ces commandes sont des synonymes.

Pour plus d’informations, consultez les commandes dry-run et whatif plus loin dans cet article.

Étape 3 : désinstaller les Kits de développement logiciel (SDK) et les runtimes .NET

dotnet-core-uninstall remove désinstalle les Kits de développement logiciel (SDK) et les runtimes .NET spécifiés par une collection d’options.

Étant donné que cet outil a un comportement destructeur, il est vivement recommandé d’effectuer un essai avant d’exécuter la commande supprimer. L’essai vous montre quels Kits de développement logiciel (SDK) et runtimes .NET seront supprimés lorsque vous utiliserez la commande remove. Reportez-vous à Dois-je supprimer une version ? pour savoir quels Kits de développement logiciel (SDK) et runtimes peuvent être supprimés en toute sécurité.

Attention

Rappelez-vous des avertissements suivants :

  • Cet outil peut désinstaller les versions du Kit de développement logiciel (SDK) .NET requises par les fichiers global.json sur votre ordinateur. Vous pouvez réinstaller les Kits de développement logiciel (SDK) .NET à partir de la page Télécharger .NET.
  • Cet outil peut désinstaller les versions du runtime .NET requises par les applications dépendantes de l’infrastructure sur votre ordinateur. Vous pouvez réinstaller les runtimes .NET à partir de la page Télécharger .NET.
  • Cet outil peut désinstaller les versions du runtime et du Kits de développement logiciel (SDK) .NET sur lequel repose Visual Studio. Si vous arrêtez votre installation de Visual Studio, exécutez « Réparer » dans le programme d’installation de Visual Studio pour revenir à un état opérationnel.

Par défaut, toutes les commandes conservent les Kits de développement logiciel (SDK) .NET et les runtimes qui peuvent être requis par Visual Studio ou d’autres Kits de développement logiciel (SDK). Ces Kits de développement logiciel (SDK) et runtimes peuvent être désinstallés en les répertoriant explicitement en tant qu’arguments ou en utilisant l’option --force.

L’outil nécessite une élévation pour désinstaller les Kits de développement logiciel (SDK) et les runtimes .NET. Exécutez l’outil dans une invite de commandes Administrateur sur Windows et avec sudo sur macOS. Les commandes dry-run et whatif ne nécessitent pas d’élévation.

Pour plus d’informations, consultez la commande de suppression plus loin dans cet article.

Étape 4 : supprimer le dossier de secours NuGet (facultatif)

Dans certains cas, vous n’avez plus besoin de NuGetFallbackFolder et souhaiterez peut-être le supprimer. Pour plus d’informations, consultez Supprimer NuGetFallbackFolder.

Désinstaller l’outil

  1. Ouvrez la boîte de dialogue Ajout/Suppression de programmes.
  2. Recherchez Microsoft .NET SDK Uninstall Tool.
  3. Sélectionner Désinstaller.

Commande list

Synopsis

dotnet-core-uninstall list [options]

Options

  • --aspnet-runtime

    Répertorie tous les runtimes ASP.NET qui peuvent être désinstallés avec cet outil.

  • --hosting-bundle

    Répertorie toutes les offres groupées d’hébergement .NET qui peuvent être désinstallés avec cet outil.

  • --runtime

    Répertorie tous les runtimes .NET qui peuvent être désinstallés avec cet outil.

  • --sdk

    Répertorie tous les Kits de développement logiciel (SDK) .NET qui peuvent être désinstallés avec cet outil.

  • -v, --verbosity <LEVEL>

    Définit le niveau de verbosité. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. La valeur par défaut est normal.

  • --x64

    Répertorie tous les Kits de développement logiciel (SDK) .NET x64 qui peuvent être désinstallés avec cet outil.

  • --x86

    Répertorie tous les Kits de développement logiciel (SDK) .NET x86 qui peuvent être désinstallés avec cet outil.

Exemples

  • Répertoriez tous les Kits de développement logiciel (SDK) et runtimes .NET qui peuvent être supprimés avec cet outil :

    dotnet-core-uninstall list
    
  • Répertoriez tous les Kits de développement logiciel (SDK) .NET x64 et tous les runtimes :

    dotnet-core-uninstall list --x64
    
  • Répertoriez tous les Kits de développement logiciel (SDK) .NET x86 :

    dotnet-core-uninstall list --sdk --x86
    

Commandes dry-run et whatif

Synopsis

dotnet-core-uninstall dry-run [options] [<VERSION>...]

dotnet-core-uninstall whatif [options] [<VERSION>...]

Arguments

VERSION

Version spécifiée à désinstaller. Vous pouvez répertorier plusieurs versions l’une après l’autre, séparées par des espaces. Les fichiers de réponse sont également pris en charge.

Conseil

Les fichiers de réponse sont une alternative au placement de toutes les versions sur la ligne de commande. Il s’agit de fichiers texte, généralement avec une extension *.rsp et chaque version est répertoriée sur une ligne distincte. Pour spécifier un fichier de réponse pour l’argument VERSION, utilisez le caractère @ immédiatement suivi du nom du fichier de réponse.

Options

  • --all

    Supprime tous les Kits de développement logiciel (SDK) et runtimes .NET.

  • --all-below <VERSION>[ <VERSION>...]

    Supprime uniquement les Kits de développement logiciel (SDK) et runtimes .NET dont la version est inférieure à la version spécifiée. La version spécifiée reste installée.

  • --all-but <VERSIONS>[ <VERSION>...]

    Supprime tous les Kits de développement logiciel (SDK) et runtimes .NET, à l’exception des versions spécifiées.

  • --all-but-latest

    Supprime les Kits de développement logiciel (SDK) et les runtimes .NET, à l’exception de la version la plus élevée.

  • --all-lower-patches

    Supprime les Kits de développement logiciel (SDK) et les runtimes .NET remplacés par des patches plus élevés. Cette option protège le fichier global.json.

  • --all-previews

    Supprime les Kits de développement logiciel (SDK) et runtimes .NET marqués comme préversions.

  • --all-previews-but-latest

    Supprime les Kits de développement logiciel (SDK) et runtimes .NET marqués comme préversions à l’exception de l’aperçu le plus élevé.

  • --aspnet-runtime

    Supprime les runtimes ASP.NET uniquement.

  • --hosting-bundle

    Supprime uniquement le runtime .NET et les offres groupées d’hébergement.

  • --major-minor <MAJOR_MINOR>

    Supprime les Kits de développement logiciel (SDK) .NET et les runtimes qui correspondent à la version spécifiée major.minor.

  • --runtime

    Supprime les runtimes .NET uniquement.

  • --sdk

    Supprime uniquement les Kits de développement logiciel (SDK) .NET.

  • -v, --verbosity <LEVEL>

    Définit le niveau de verbosité. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. La valeur par défaut est normal.

  • --x64

    Doit être utilisé avec --sdk, --runtimeet --aspnet-runtime pour supprimer les Kits de développement logiciel (SDK) x64 ou les runtimes.

  • --x86

    Doit être utilisé avec --sdk, --runtimeet --aspnet-runtime pour supprimer les Kits de développement logiciel (SDK) x86 ou les runtimes.

  • --force

    Force la suppression des versions qui peuvent être utilisées par Visual Studio.

Notes

  • Exactement, un des --sdk, --runtime, --aspnet-runtime et --hosting-bundle est requis.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor et [<VERSION>...] sont exclusifs.
  • Si --x64 ou --x86 ne sont pas spécifiés, les deux types x64 et x86 sont supprimés.

Exemples

Notes

Par défaut, les Kits de développement logiciel (SDK) .NET et les runtimes qui peuvent être requis par Visual Studio ou d’autres Kits de développement logiciel (SDK) ne sont pas inclus dans la sortie dotnet-core-uninstall dry-run. Dans les exemples suivants, selon l’état de la machine, certains des Kits de développement logiciel (SDK) et runtimes spécifiés peuvent ne pas être inclus dans la sortie. Pour inclure tous les Kits de développement logiciel (SDK) et runtimes, répertoriez-les explicitement en tant qu’arguments ou utilisez l’option --force.

  • Essai de la suppression de tous les runtimes .NET qui ont été remplacés par des patches plus élevés :

    dotnet-core-uninstall dry-run --all-lower-patches --runtime
    
  • Essai de la suppression de tous les Kits de développement logiciel (SDK) .NET sous la version 2.2.301 :

    dotnet-core-uninstall whatif --all-below 2.2.301 --sdk
    

Commande remove

Synopsis

dotnet-core-uninstall remove [options] [<VERSION>...]

Arguments

VERSION

Version spécifiée à désinstaller. Vous pouvez répertorier plusieurs versions l’une après l’autre, séparées par des espaces. Les fichiers de réponse sont également pris en charge.

Conseil

Les fichiers de réponse sont une alternative au placement de toutes les versions sur la ligne de commande. Il s’agit de fichiers texte, généralement avec une extension *.rsp et chaque version est répertoriée sur une ligne distincte. Pour spécifier un fichier de réponse pour l’argument VERSION, utilisez le caractère @ immédiatement suivi du nom du fichier de réponse.

Options

  • --all

    Supprime tous les Kits de développement logiciel (SDK) et runtimes .NET.

  • --all-below <VERSION>[ <VERSION>...]

    Supprime uniquement les Kits de développement logiciel (SDK) et runtimes .NET dont la version est inférieure à la version spécifiée. La version spécifiée reste installée.

  • --all-but <VERSIONS>[ <VERSION>...]

    Supprime tous les Kits de développement logiciel (SDK) et runtimes .NET, à l’exception des versions spécifiées.

  • --all-but-latest

    Supprime les Kits de développement logiciel (SDK) et les runtimes .NET, à l’exception de la version la plus élevée.

  • --all-lower-patches

    Supprime les Kits de développement logiciel (SDK) et les runtimes .NET remplacés par des patches plus élevés. Cette option protège le fichier global.json.

  • --all-previews

    Supprime les Kits de développement logiciel (SDK) et runtimes .NET marqués comme préversions.

  • --all-previews-but-latest

    Supprime les Kits de développement logiciel (SDK) et runtimes .NET marqués comme préversions à l’exception de l’aperçu le plus élevé.

  • --aspnet-runtime

    Supprime les runtimes ASP.NET uniquement.

  • --hosting-bundle

    Supprime uniquement les offres groupées d’hébergement .NET.

  • --major-minor <MAJOR_MINOR>

    Supprime les Kits de développement logiciel (SDK) .NET et les runtimes qui correspondent à la version spécifiée major.minor.

  • --runtime

    Supprime les runtimes .NET uniquement.

  • --sdk

    Supprime uniquement les Kits de développement logiciel (SDK) .NET.

  • -v, --verbosity <LEVEL>

    Définit le niveau de verbosité. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. La valeur par défaut est normal.

  • --x64

    Doit être utilisé avec --sdk, --runtimeet --aspnet-runtime pour supprimer les Kits de développement logiciel (SDK) x64 ou les runtimes.

  • --x86

    Doit être utilisé avec --sdk, --runtimeet --aspnet-runtime pour supprimer les Kits de développement logiciel (SDK) x86 ou les runtimes.

  • -y, --yes

    Exécute la commande sans attendre de confirmation.

  • --force

    Force la suppression des versions qui peuvent être utilisées par Visual Studio.

Notes

  • Exactement, un des --sdk, --runtime, --aspnet-runtime et --hosting-bundle est requis.
  • --all, --all-below, --all-but, --all-but-latest, --all-lower-patches, --all-previews, --all-previews-but-latest, --major-minor et [<VERSION>...] sont exclusifs.
  • Si --x64 ou --x86 ne sont pas spécifiés, les deux types x64 et x86 sont supprimés.

Exemples

Notes

Par défaut, les Kits de développement logiciel (SDK) et les runtimes .NET qui peuvent être requis par Visual Studio ou d’autres Kits de développement logiciel (SDK) sont conservés. Dans les exemples suivants, selon l’état de la machine, certains des Kits de développement logiciel (SDK) et runtimes spécifiés peuvent être conservés. Pour supprimer tous les Kits de développement logiciel (SDK) et runtimes, répertoriez-les explicitement en tant qu’arguments ou utilisez l’option --force.

  • Supprimez tous les runtimes .NET à l’exception de la version 3.0.0-preview6-27804-01 sans attendre confirmation :

    dotnet-core-uninstall remove --all-but 3.0.0-preview6-27804-01 --runtime --yes
    
  • Supprimez tous les Kits de développement logiciel (SDK) .NET Core 1.1 sans attendre confirmation :

    dotnet-core-uninstall remove --sdk --major-minor 1.1 -y
    
  • Supprimez le Kit de développement logiciel (SDK) .NET Core 1.1.11 sans sortie de console :

    dotnet-core-uninstall remove 1.1.11 --sdk --yes --verbosity q
    
  • Supprimez tous les Kits de développement logiciel (SDK) .NET qui peuvent être supprimés en toute sécurité par cet outil :

    dotnet-core-uninstall remove --all --sdk
    
  • Supprimez tous les Kits de développement logiciel (SDK) .NET qui peuvent être supprimés par cet outil, y compris ceux qui peuvent être requis par Visual Studio (non recommandé) :

    dotnet-core-uninstall remove --all --sdk --force
    
  • Supprimez tous les Kits de développement logiciel (SDK) .NET spécifiés dans le fichier réponse versions.rsp :

    dotnet-core-uninstall remove --sdk @versions.rsp
    

    Le contenu du fichier versions.rsp est le suivant :

    2.2.300
    2.1.700