Wie finde ich die .NET-Version?

258

Wie finde ich heraus, welche Version von .NET installiert ist?

Ich suche etwas so Einfaches wie "Java-Version", das ich an der Eingabeaufforderung eingeben kann und das mir die aktuell installierten Versionen mitteilt.

Ich füge besser hinzu, dass Visual Studio möglicherweise nicht installiert ist - dies ist normalerweise etwas, das ich über einen Clientcomputer wissen möchte.

Sepang
quelle
2
Führen Sie diesen Befehl aus und führen Sie ihn aus: wmic / namespace: \\ root \ cimv2 path win32_product where "name like '%%. NET %%'" Version
abrufen

Antworten:

250

Geben Sie einfach einen der folgenden Befehle ein, um die neueste Version in der ersten Zeile zu erhalten.

1. CSC
2. GACUTIL /l ?
3. CLRVER

Sie können diese nur an der Visual Studio-Eingabeaufforderung ausführen, wenn Sie Visual Studio installiert haben, oder wenn Sie das .NET Framework-SDK und dann die SDK-Eingabeaufforderung haben.

4. wmic product get description | findstr /C:".NET Framework"
5. dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

Der letzte Befehl (5) listet alle Versionen (außer 4.5) von .NET auf, die zuletzt installiert wurden .
Sie müssen den 4. Befehl ausführen, um festzustellen, ob .NET 4.5 installiert ist.

Weitere drei Optionen an der PowerShell-Eingabeaufforderung sind unten angegeben.

6.   [environment]::Version
7.   $PSVersionTable.CLRVersion
8.   gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 |
     where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release

Mit dem letzten Befehl (8) erhalten Sie alle Versionen, einschließlich .NET 4.5.

Binoj Antony
quelle
6
'CSC' funktioniert nur an der Visual Studio-Eingabeaufforderung (standardmäßig). Außerdem erhalten Sie nur die maximale Version des .NET-Frameworks, auf die die Version des Compilers abzielt. - Wenn Sie VS2005 und VS2008 installiert haben, melden die verschiedenen Versionen von CSC unterschiedliche Versionen.
Matt Lacey
15
cscgibt die Version des C # -Compilers aus, nicht die Version von .NET Framework.
Timwi
4
Der letzte Befehl hat Version 4.5 nicht zurückgegeben, obwohl ich glaube, dass ich ihn installiert habe. Die Antwort unter stackoverflow.com/questions/3487265/… enthielt sie.
lmsurprenant
2
Der letzte Befehl zeigt nicht die neueste Version an. Wir können die Version in appwiz.cpl nachschlagen oder der Befehl 'wmic product' ist ebenfalls hilfreich. windows-commandline.com/find-net-version-on-your-computer
Giri
11
Prost auf Nummer 8!
Lionet Chen
330

Es gibt eine einfachere Möglichkeit, die genaue .NET-Version über eine cmd-Eingabeaufforderung auf Ihrem Computer zu installieren. Folgen Sie einfach den folgenden Anweisungen;

  1. Öffnen Sie die Eingabeaufforderung (z. B. Windows + R → geben Sie "cmd" ein).
  2. Geben Sie den folgenden Befehl in einer Zeile ein:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"

(Dadurch werden alle .NET-Versionen aufgelistet.)

  1. Wenn Sie die neueste .NET 4-Version überprüfen möchten.
  2. Geben Sie die folgende Anweisung in eine einzelne Zeile ein:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version

Bitte finden Sie das beigefügte Bild unten, um zu sehen, wie es angezeigt wird.

Geben Sie hier die Bildbeschreibung ein

AnandShanbhag
quelle
4
Ich fand, dass dies die einfachste und präziseste ist (mit dem "* \ v4 \ Full" am Ende), da es auch die Nebenversion mit nur einem einfachen Befehl erhält.
Ignas Vyšnia
1
Nett. Wollte etwas, das auf einem Benutzer-PC funktionieren würde und das ist es. Vielen Dank!
Kelly
Ausführliche Informationen und Beispiele: docs.microsoft.com/en-us/dotnet/framework/migration-guide/…
typpo
6
Schön, zeigt aber nicht die 4.5, 4.6 und 4.7 Frameworks, die auf meinem Windows 7 Computer installiert sind :(
Zeek2
nicht ganz genau; Ich schaue unter Systemsteuerung> Programme und Funktionen, und es gibt keine Anzeichen von .NET.; Ich führe jedoch Ihren Befehl aus und er gibt mir die Ausgabe HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4.0. Wahrscheinlich wurde .NET einmal auf meinem Computer installiert, wurde nicht kristallisiert, aber die Registrierung wurde nicht bereinigt
Newton Fan 01
39

.NET Version Detector ist ein GUI-Dienstprogramm, das anzeigt, welche der sechs (!) Versionen des Frameworks installiert sind.

Phil Devaney
quelle
30

Führen Sie die folgenden Schritte aus, bevor Sie zu einer Eingabeaufforderung wechseln ...

Öffnen Sie den Arbeitsplatz → Doppelklicken Sie auf das Laufwerk " C: " → Doppelklicken Sie auf " Windows " → Doppelklicken Sie auf " Microsoft.NET " → Doppelklicken Sie auf " Framework " → In diesem Ordner befinden sich Ordner wie "v1.0.3705" und / oder "v2.0.50727" und / oder "v3.5" und / oder "v4.0.30319".

Ihre neueste .NET-Version befindet sich im Ordner mit der höchsten v-Nummer. Wenn also v4.0.30319 verfügbar ist, enthält dies Ihr aktuelles .NET-Framework. Die Version 4.0.30319 bedeutet jedoch nicht, dass Sie über die .NET Framework-Version 4.0 verfügen. Die Version 4.0.30319 ist Ihre Visual C # -Compilerversion. Führen Sie daher die folgenden Schritte aus, um die .NET Framework-Version zu finden.

Gehen Sie zu einer Eingabeaufforderung und folgen Sie diesem Pfad:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 (oder was auch immer der Ordner mit der höchsten v-Nummer ist)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319> csc.exe

Ausgabe:

Microsoft (R) Visual C # -Compiler Version 4.0.30319.17929 für Microsoft (R) .NET Framework 4.5 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Beispiel unten:

Geben Sie hier die Bildbeschreibung ein

Sunimal Kaluarachchi
quelle
2
Ziemlich gut, aber die Ausgabe ist zumindest auf meinem Server anders - Es war keine "für" -Nachricht enthalten: lh4.googleusercontent.com/-p7Fu5GDj0cg/UywSqPTdQjI/AAAAAAAAALQ/…
Nenotlep
2
Um den Verzeichnistyp zu ändern : cd C:\Windows\Microsoft.NET\Framework\v4.0.30319und dann zu tippen csc.exe, hilft Hoffnung jemandem.
Shaijut
1
Es ist meistens effizient, wenn Sie sich mit einem eingeschränkten Benutzerkonto angemeldet haben.
Rzassar
10

Diese Antwort gilt nur für .NET Core!

Wenn dotnet --versionSie das Terminal Ihrer Wahl eingeben, wird die verwendete Version des .NET Core SDK ausgedruckt.

Weitere Informationen über den dotnetBefehl hier .

FelixAVeras
quelle
15
Dies gilt nur für .NET Core.
Sunil
9

Die Version des installierten Frameworks hängt davon ab, welche Service Packs und Hotfixes Sie installiert haben. Weitere Informationen finden Sie auf dieser MSDN-Seite . Es wird empfohlen, %systemroot%\Microsoft.NET\Frameworknach der Version zu suchen .

Environment.Version gibt Ihnen programmgesteuert die Version der CLR.

Beachten Sie, dass dies die Version der CLR ist und nicht unbedingt mit der neuesten Version des von Ihnen installierten Frameworks identisch ist (.NET 3.0 und 3.5 verwenden beide Version 2 der CLR).

adrianbanks
quelle
Environment.Version scheint Ihnen die Anwendungsversion zu geben. Sagen wir, von LinqPad möchte ich die .NET-Version finden, gegen die es ausgeführt wird, und es gibt mir nicht die .NET-Version, sondern die LinqPad-Version
Naomi
@ Naomi: Nein, es gibt die Version der CLR. Aus den Dokumenten: "Ruft ein Versionsobjekt ab, das die Haupt-, Neben-, Build- und Revisionsnummern der Common Language Runtime beschreibt." .
Adrianbanks
Was soll ich in diesem Objekt sehen? Ich sehe 2.0.50727.5472 2 Minor 0 Build 50727 Revision 5472 MajorRevision 0 MinorRevision 5472, die für mich nicht wie die Laufzeit der CLR-Version aussieht
Naomi
Ich habe die neueste Version von LinqPad geladen und jetzt erhalte ich 4.0.30319.18052 für die Version. Die vorherige Version war auf die .NET 3.5-Version ausgerichtet. Also bin ich immer noch ein bisschen verwirrt - zeigt es tatsächlich die CLR-Version?
Naomi
1
@ Naomi: Ja, es wird die CLR-Version angezeigt. 2.0.50727.5472 ist die Version der .Net 2.0 CLR, die auch für .Net 3.0 und 3.5 verwendet wird. 4.0.30319.18052 ist .Net 4.0 mit einer anderen Versionsnummer.
Adrianbanks
8

MSDN beschreibt es hier sehr gut, wie man es aus der Registrierung überprüft:

So finden Sie .NET Framework-Versionen in der Registrierung (.NET Framework 1-4)

  1. Wählen Sie im Startmenü Ausführen.
  2. Geben Sie im Feld Öffnen die Datei regedit.exe ein. Sie müssen über Administratorrechte verfügen, um regedit.exe ausführen zu können.
  3. Öffnen Sie im Registrierungseditor den folgenden Unterschlüssel:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP

Die installierten Versionen sind unter dem NDP-Unterschlüssel aufgeführt. Die Versionsnummer wird im Versionseintrag gespeichert. Für .NET Framework 4 befindet sich der Versionseintrag unter dem Unterschlüssel Client oder Voll (unter NDP) oder unter beiden Unterschlüsseln.

So finden Sie .NET Framework-Versionen durch Anzeigen der Registrierung (.NET Framework 4.5 und höher)

  1. Wählen Sie im Startmenü Ausführen.
  2. Geben Sie im Feld Öffnen die Datei regedit.exe ein. Sie müssen über Administratorrechte verfügen, um regedit.exe ausführen zu können.
  3. Öffnen Sie im Registrierungseditor den folgenden Unterschlüssel:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Full

Beachten Sie, dass der Pfad zum vollständigen Unterschlüssel den Unterschlüssel Net Framework anstelle von .NET Framework enthält

Suchen Sie nach einem DWORD-Wert mit dem Namen Release. Das Vorhandensein von Release DWORD zeigt an, dass .NET Framework 4.5 oder höher auf diesem Computer installiert wurde.

Geben Sie hier die Bildbeschreibung ein

Hinweis : Die letzte Zeile im obigen Snapshot, die abgeschnitten wurde, wird gelesen On all other OS versions: 461310. Ich habe mein Bestes versucht, um zu verhindern, dass die Informationen beim Aufnehmen des Screenshots abgeschnitten werden, aber die Tabelle war viel zu groß.

RBT
quelle
6

Wenn Sie eine Eingabeaufforderung öffnen und die folgenden zwei Befehle eingeben, werden alle auf dem aktuellen Computer installierten Framework-Versionen aufgelistet (jede wird in einem separaten Verzeichnis in diesem Verzeichnis gespeichert).

cd %systemroot%\Microsoft.NET\Framework

dir /A:D
Michael Arnell
quelle
8
Nicht empfohlen, da dies möglicherweise irreführend ist. Wenn Sie 4.0 => 4.5.2 aktualisiert haben, wird im Verzeichnis möglicherweise nur v4.0.30319 angezeigt. Siehe das Beispiel von Sunimal Kaluarachchi.
Dinah
6

Geben Sie einfach Folgendes in die Befehlszeile ein:

dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

Ihre Dotnet-Version wird als höchste Nummer angezeigt.

Steve Junior
quelle
1
Es werden alle Versionen bis 4.0 angezeigt, zum Beispiel jedoch nicht 4.5.
Pinowthebird
4

Um nur die installierten Versionen über die Befehlszeile abzurufen, empfehle ich die Verwendung der Netzversion .

  • Es ist nur eine einzige Binärdatei .
  • Es verwendet die von Microsoft bereitgestellten Richtlinien , um Versionsinformationen abzurufen.
  • Das SDK muss nicht installiert sein.
  • Oder die Visual Studio-Eingabeaufforderung.
  • Es ist nicht erforderlich, dass Sie regedit verwenden und Registrierungsschlüssel selbst suchen. Sie können die Ausgabe bei Bedarf sogar in einem Befehlszeilenprogramm weiterleiten.

Der Quellcode ist auf github.com verfügbar

Vollständige Offenlegung: Ich habe dieses Tool selbst aus Frustration erstellt.

Dan Esparza
quelle
Wenn dieser (unvollständige) Satz von Versionsinformationen für Sie gut genug ist, haben Sie mehr Leistung.
Dan Esparza
@Shiva Sie geben an, dass Sie denken, dass dieser Befehl alles anzeigt, und ich bin mit Ihnen nicht einverstanden. Bitte beachten Sie den Link zu den Richtlinien von Microsoft. Beispiel: Ihre Abfrage zeigt nicht an, dass ich .NET 4.6.1 installiert habe. Außerdem wird angezeigt, dass ich 'CDF' installiert habe, bei dem es sich nicht um eine .NET Framework-Version handelt.
Dan Esparza
4

Wenn Sie dies ziemlich häufig tun (wie ich es normalerweise tue), können Sie eine Verknüpfung auf Ihrem Desktop wie folgt erstellen:

  1. Klicken Sie mit der rechten Maustaste auf den Desktop und wählen Sie Neu Verknüpfung .
  2. Fügen Sie im Feld Standort diese Zeichenfolge ein: powershell.exe -noexit -command "gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release"Fügen Sie (Dies ist aus dem Beitrag von Binoj Antony ).
  3. Klicken Sie auf Weiter . Geben Sie der Verknüpfung einen Namen und Fertig stellen .

(HINWEIS: Ich bin nicht sicher, ob dies für 4.5 funktioniert, kann jedoch bestätigen, dass dies für 4.6 und Versionen vor 4.5 funktioniert.)

kmote
quelle
Die Versionen 1.0 und 1.1 werden nicht im NET Framework-Setup- Schlüssel angezeigt , obwohl sie im Ordner% systemroot% \ Microsoft.NET \ Framework \ vorhanden sind.
Samis
4

Hier ist das Power Shell-Skript, das ich unter Verwendung der folgenden Referenz verwendet habe:

https://stackoverflow.com/a/3495491/148657

$Lookup = @{
    378389 = [version]'4.5'
    378675 = [version]'4.5.1'
    378758 = [version]'4.5.1'
    379893 = [version]'4.5.2'
    393295 = [version]'4.6'
    393297 = [version]'4.6'
    394254 = [version]'4.6.1'
    394271 = [version]'4.6.1'
    394802 = [version]'4.6.2'
    394806 = [version]'4.6.2'
    460798 = [version]'4.7'
    460805 = [version]'4.7'
    461308 = [version]'4.7.1'
    461310 = [version]'4.7.1'
    461808 = [version]'4.7.2'
    461814 = [version]'4.7.2'
    528040 = [version]'4.8'
    528049 = [version]'4.8'
}

# For One True framework (latest .NET 4x), change the Where-Oject match 
# to PSChildName -eq "Full":
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
  Get-ItemProperty -name Version, Release -EA 0 |
  Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
  Select-Object @{name = ".NET Framework"; expression = {$_.PSChildName}}, 
@{name = "Product"; expression = {$Lookup[$_.Release]}}, 
Version, Release

Das obige Skript verwendet die Registrierung und gibt uns die Windows-Update-Nummer zusammen mit .NET Framework, das auf einem Computer installiert ist.

Referenz: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by- Abfragen der Registrierung im Code-Net-Framework 45 und höher

Hier sind die Ergebnisse für dasselbe, wenn dieses Skript auf zwei verschiedenen Computern ausgeführt wird

  1. Wo .NET 4.7.2 bereits installiert war:

Geben Sie hier die Bildbeschreibung ein

  1. Wo .NET 4.7.2 nicht installiert wurde:

Geben Sie hier die Bildbeschreibung ein

Raghav
quelle
3

Mein Gott, so viel Chaos, um die Version des installierten .net-Frameworks zu finden?

Windows> Suchen> Visual Studio Installer> für die installierte Version von VS tippen Sie auf Mehr> Ändern> Einzelne Komponenten und sehen Sie es dort:

Geben Sie hier die Bildbeschreibung ein

Pixel
quelle
2

Versuchen Sie es .NET Checkermit Scott Hanselman.

AI
quelle
1
Ein toller Vorschlag. Das OP wies jedoch speziell auf ein Befehlszeilenprogramm hin.
Dan Esparza
1

clrverist eine ausgezeichnete. Führen Sie es einfach in der .NET-Eingabeaufforderung aus und es werden alle verfügbaren Framework-Versionen aufgelistet.

James Poulose
quelle
3
Für dieses Tool muss nicht nur das .NET Framework installiert sein, sondern auch Visual Studio. Das OP zeigte an, dass Visual Studio möglicherweise nicht installiert ist.
Dan Esparza
Und es werden nicht alle (oder sogar die meisten) Versionen angezeigt. Für meinen Win7-PC werden nur V2.0 und 4.0 angezeigt, aber einige der anderen oben genannten Methoden zeigen auch Versionen: 3.0, 3.5, 4.5, 4.5.1, 4.5.2, 4.6.1 und 4.7.
Zeek2
1
@Zeek clrverzeigt installierte .net-Laufzeit (en) an , die von .net-Versionen gemeinsam genutzt werden können . Siehe Gewusst wie: Bestimmen, welche .NET Framework-Versionen installiert sind, und Identifizieren der .NET-Version, die Sie
ausführen
1

Für alle, die Windows 10 1607 ausführen und nach .net 4.7 suchen . Ignorieren Sie alle oben genannten Punkte.

Es befindet sich nicht in der Registrierung , im Ordner C: \ Windows \ Microsoft.NET oder in den installierten Programmen Liste " oder in der WMIC-Anzeige derselben Liste.

Suchen Sie nach "installierten Updates" KB3186568.

skrie
quelle
1
Es befindet sich in der Registrierung, wie von Microsoft dokumentiert . HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full- Der ReleaseWert wird 460798für 4,7 auf W10 1607 sein.
Richard Deeming
Es ist nicht. Der "Voll" -Schlüssel existiert nicht einmal.
Skrie
1
Es ist und es tut. Ich laufe 1607 und schaue gerade auf den FullSchlüssel!
Richard Deeming
0

Wenn Sie eine .Net-App entwickeln (z. B. eine Web-App), können Sie eine Zeile Fehlercode erstellen (z. B. einen falschen Funktionsnamen aufrufen) und Ihre Seite neu laden. Die .Net-Version wird angezeigtGeben Sie hier die Bildbeschreibung ein

Sy C Dang
quelle
Wahrscheinlich nicht der sauberste Weg, aber eine Option, die ich völlig vergessen habe. Eine einfache GACUTIL /l ?in Ihrer (Entwickler-) PowerShell ergibt genau das Gleiche.
B - rian
-1

Es gibt eine einfachere Möglichkeit, die genaue .NET-Version über eine cmd-Eingabeaufforderung auf Ihrem Computer zu installieren. Folgen Sie einfach den folgenden Anweisungen;

Öffnen Sie die Eingabeaufforderung (z. B. Windows + R → geben Sie "cmd" ein) und geben Sie den folgenden Befehl in einer Zeile ein:% windir% \ Microsoft.NET \ FrameWork. Navigieren Sie dann zu dem Verzeichnis mit der neuesten Versionsnummer.

Siehe http://dotnettec.com/check-dot-net-framework-version/

Julia
quelle
Ich 'C:\Windows\Microsoft.NET\FrameWork' is not recognized as an internal or external command, operable program or batch file.
erhalte