Existe-t-il un moyen de déterminer la version .NET Framework à partir de la ligne de commande?
-
19-09-2019 - |
Question
Pour dépanner une installation, parfois je veux juste une réponse rapide à la version de .NET installée.
Existe-t-il un moyen de déterminer la version .NET Framework sur un système Windows standard, à part regarder les répertoires?
REMARQUE: Ce n'est pas pour une machine de développement, juste des fenêtres prêtes à l'emploi
Ce qui suit fonctionne, mais je recherche un moyen plus simple.
dir% windir% Microsoft.net framework v *
Directory of C:\Windows\Microsoft.Net\Framework
07/13/2009 07:20 PM <DIR> v1.0.3705
07/13/2009 07:20 PM <DIR> v1.1.4322
01/20/2010 01:16 PM <DIR> v2.0.50727
07/13/2009 09:37 PM <DIR> v3.0
01/20/2010 01:02 PM <DIR> v3.5
02/10/2010 03:20 AM <DIR> v4.0.21006
Mise à jour: pas une solution, mais un autre répertoire sympa a formaté
dir% windir% Microsoft.net framework v * / o: -n / b
v4.0.21006
v3.5
v3.0
v2.0.50727
v1.1.4322
v1.0.3705
La solution
Sur la base de votre mise à jour qui indique qu'il s'agit de promener un utilisateur final averti de la technologie, je vous suggère d'aller sur le site de Scott Hanselman http://www.smallestdotnet.com (Utilisez Internet Explorer) qui utilise la chaîne d'agent utilisateur pour vous indiquer quel framework .NET vous avez et vous donne des recommandations pour obtenir la dernière version de la manière la plus efficace.
Ancienne réponse
Avec PowerShell, vous pouvez le faire (bien que la présence de PowerShell implique déjà au moins .NET 2.0)
Get-ChildItem "$($Env:WinDir)\Microsoft.Net\Framework" -i mscorlib.dll -r |
ForEach-Object { $_.VersionInfo.ProductVersion }
Je ne sais pas s'il existe un moyen comparable d'obtenir les informations de version dans un vieux Cmd.exe crusty.
Autres conseils
reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r
La première entrée est la dernière version du framework installé.
Noter: Cela ne fonctionne pas avec v1.x du cadre.
Mise à jour: J'ai raté le commentaire que vous cherchez quelque chose pour dire à votre père par téléphone. Si tel est le cas, la commande ci-dessus n'est probablement pas la meilleure approche pour vous. Vous feriez mieux de simplement dire à votre père d'ouvrir Windows Explorer et de le naviguer vers le Dirt Framework .NET et de vous dire les chiffres là-dedans.
Ouvrez simplement l'invite de commande VS2008 et tapez Clrver
ÉDITER: Ma réponse n'est pas pertinente pour la question OP (qui a été modifiée après avoir répondu à l'origine).
Selon MSDN Vous pouvez également utiliser le registre pour vérifier les versions installées.
en outre cette Le site affirme qu'il existe une application de ligne de commande appelée CSC que vous pouvez utiliser - je ne l'ai pas essayé, j'utilise le chemin du registre pendant les installations que je cours.
Les éléments suivants détecteraient si .NET Framework 3.5 est installé ou non .. et s'il n'est pas installé l'installer. Exécutez-le simplement sur l'invite de commande.
if exist "%WINDIR%\Microsoft.Net\Framework\v3.5" goto end start /wait .\Framework\dotnetfx.exe /q /norestart" :end
Si vous souhaitez détecter d'autres versions, remplacez simplement V3.5 par v2.0 ou v1.0 selon le cas. De plus, si .NET n'est pas détecté, l'installation du framework .NET serait effectuée en mode silencieux, c'est-à-dire aucune interaction UI ou utilisateur.
Il y a un article publié sur Codeproject Cela peut faire exactement cela plus sa ligne de commande basée.
J'espère que cela t'aides.
Le numéro de version le plus élevé de cette liste de répertoires est la version installée.
Comme vous pouvez le voir, toute version comprend toutes les versions précédentes, alors vérifiez la prise en charge d'une version spécifique = vérifiez ce répertoire spécifique.