Je sais que pour les anciennes versions de .NET, vous pouvez déterminer si une version donnée est installée en suivant
https://support.Microsoft.com/en-us/kb/318785
Existe-t-il une méthode officielle permettant de déterminer si .NET Core est installé?
(Et je ne parle pas du SDK, je souhaite vérifier un serveur sans le SDK afin de déterminer si DotNetCore.1.0.0-WindowsHosting.exe est installé dessus)
Je vois
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET Cross-Platform Runtime Environment\.NET Framework 4.6\Win\v1-rc1
avec la version n ° 1.0.11123.0 sur mon ordinateur Windows 7, mais je ne vois pas le même contenu sur mon ordinateur Windows 10.
Utiliser Powershell :
Temps d'exécution:
(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'shared\Microsoft.NETCore.App')).Name
SDK:
(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'sdk')).Name
Excellente question, et la réponse n'est pas simple. Il n'y a pas de commande "montre-moi toutes les versions .net core", mais il y a de l'espoir.
MODIFIER:
Je ne sais pas quand il a été ajouté, mais la commande info inclut désormais cette information dans son résultat. Il imprimera les runtimes installés et les SDK, ainsi que d'autres informations:
dotnet --info
Si vous voulez seulement voir les SDK: dotnet --list-sdks
Si vous voulez seulement voir les runtimes installés: dotnet --list-runtimes
Je suis sous Windows, mais je suppose que cela fonctionnerait également sur Mac ou Linux avec une version actuelle.
Vous pouvez également vous référer à .NET Core Download Archive pour vous aider à déchiffrer les versions du SDK.
INFORMATIONS PLUS ANCIENNES: Tout ce qui est en dessous de ce point est une information ancienne, moins pertinente, mais qui peut toujours être utile.
Voir les Runtimes installés:
Ouvrez C:\Program Files\dotnet\shared\Microsoft.NETCore.App
dans l'Explorateur Windows
Voir les SDK installés:
Ouvrez C:\Program Files\dotnet\sdk
dans l'Explorateur Windows
(Source pour les emplacements: Le blog d'un développeur )
En outre, vous pouvez voir les versions latest Runtime et SDK installées en lançant ces commandes à l'invite de commande:
dotnet
La dernière version de Runtime est la première chose répertoriée.DISCLAIMER: Cela ne fonctionne plus, mais peut fonctionner pour les anciennes versions.
dotnet --version
dernière version du SDK _ DISCLAIMER: Apparemment, le résultat de cette opération peut être affecté par tout fichier de configuration global.json.
Sur macOS, vous pouvez vérifier la version .net core en utilisant la commande ci-dessous.
ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/
Sur Ubuntu ou Alpine:
ls /usr/share/dotnet/shared/Microsoft.NETCore.App/
Il listera le dossier avec le nom de la version installée.
La réponse correcte pour les environnements d'exécution uniquement sans SDK, comme un serveur sur lequel le package d'hébergement Windows est installé, consiste à exécuter PowerShell à l'aide de la commande suivante:
dotnet --info
Par le documentation officielle :
--version
"Imprime la version du Kit de développement .NET Core SDK utilisée." et donc ne fonctionne pas si le SDK n'est pas installé. Tandis que...--info
"Imprime des informations détaillées sur les outils de la CLI et l'environnement, tels que le système d'exploitation actuel, valide la version SHA et d'autres".Voici un autre article officiel expliquant comment la gestion des versions .NET Core fonctionne. :)
Vous pouvez vérifier si dotnet.exe est disponible:
where dotnet
Vous pouvez ensuite vérifier la version:
dotnet --version
(1) Si vous êtes sur le système Windows.
Ouvrez l'invite de commande.
dotnet --version
(2) Exécutez la commande ci-dessous Si vous êtes sur un système Linux.
dotnet --version
dotnet --info
Je travaille principalement avec des machines et des serveurs de développement Windows.
Je voulais juste signaler (du moins pour NET.Core 2.0 et supérieur) que la seule chose à faire est d'exécuter dotnet --info
dans une invite de commande pour obtenir des informations sur la version latest installée. Si .NET Core est installé, vous obtiendrez une réponse.
Sur ma machine de développement (Windows 10), le résultat est le suivant. SDK est 2.1.2 et le runtime est 2.0.3.
.NET Command Line Tools (2.1.2)
Product Information:
Version: 2.1.2
Commit SHA-1 hash: 5695315371
Runtime Environment:
OS Name: Windows
OS Version: 10.0.15063
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.2\
Microsoft .NET Core Shared Framework Host
Version : 2.0.3
Build : a9190d4a75f4a982ae4b4fa8d1a24526566c69df
Sur l'un de mes serveurs exécutant Windows Server 2016 avec le pack d'hébergement Windows Server (sans SDK), le résultat est le suivant. Pas de SDK, le runtime est 2.0.3.
Microsoft .NET Core Shared Framework Host
Version : 2.0.3
Build : a9190d4a75f4a982ae4b4fa8d1a24526566c69df
À votre santé !
Les commandes suivantes sont disponibles avec .NET Core SDK 2.1 (v2.1.300) :
Pour répertorier tous les SDK .NET Core installés, utilisez: dotnet --list-sdks
Pour répertorier tous les environnements d'exécution .NET Core installés, utilisez dotnet --list-runtimes
(testé sur Windows le 3 juin 2018, puis le 23 août 2018)
Mise à jour le 24 octobre 2018: La meilleure option est probablement maintenant dotnet --info
dans une fenêtre de terminal ou PowerShell, comme mentionné dans d'autres réponses.
Regardez dans C:\Program Files\dotnet\shared\Microsoft.NETCore.App
pour voir quelles versions du moteur d'exécution contiennent des répertoires. La source.
Beaucoup de réponses ici confondent le SDK avec le Runtime, qui sont différents.
Après toutes les autres réponses, cela pourrait s'avérer utile.
Ouvrez votre application dans Visual Studio. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur votre projet. Cliquez sur Propriétés. Cliquez sur application. Sous "Cadre cible", cliquez sur le bouton déroulant. Vous y trouverez tous les cadres installés.
BTW - vous pouvez maintenant choisir quel framework vous voulez.