Unter Windows können Sie mehrere Versionen von .NET Framework gleichzeitig installieren und ausführen. Wenn Sie eine neue Anwendung entwickeln oder bereitstellen, die auf .NET-Bibliotheken basiert, müssen Sie manchmal im Voraus wissen, welche Versionen und Service Packs von .Net Framework bereits auf dem Computer oder Server des Benutzers installiert sind. Sie können eine Liste der auf Ihrem Computer installierten .NET Framework-Versionen auf verschiedene Arten abrufen.
Überprüfen der .NET Framework-Version über die Windows-Registrierung
Wenn Sie eine beliebige Version von .NET Framework installieren oder aktualisieren, werden die Änderungen in die Windows-Registrierung geschrieben.
Führen Sie den Registrierungseditor aus (regedit.exe
) und gehen Sie zu Registrierungsschlüssel HKLM \SOFTWARE\Microsoft\NET Framework Setup\NDP. Dieser Registrierungsschlüssel enthält Informationen zu allen Versionen von .NET auf dem Computer. Erweitern Sie einen beliebigen Unterschlüssel und beachten Sie die folgenden Parameter (für .Net 4.x Sie müssen den vollständigen Unterschlüssel erweitern):
- Install – Installation Flag (wenn gleich 1, dann diese Version von .Net auf dem Computer installiert ist);
- Installationspfad — das Verzeichnis, in dem diese .Net—Version installiert ist;
- Release — .NET-Versionsnummer;
- Version – die vollständige Versionsnummer von .Net Framework.
In diesem Beispiel sehen Sie, dass .NET Framework v2.0.50727, 3.0, 3.5 und 7.0 (Release 460805) installiert sind.
Anhand der folgenden Tabelle können Sie die Versionsnummer der Version von .NET Framework (für .NET 4.5 und neuer) zuordnen.
Veröffentlichungsnummer | .NET Framework-Version |
378389 | .NET Framework 4.5 |
378675 | NET Framework 4.5.1 unter Windows 8.1 und Windows Server 2012 R2 |
378758 | .NET Framework 4.5.1 unter Windows 8, Windows 7 SP1, Windows Vista SP2 |
379893 | .NET Framework 4.5.2 |
393295 | .NET Framework 4.6 unter Windows 10 |
393297 | .NET Framework 4.6 |
394254 | .NET Framework 4.6.1 unter Windows 10 1511 |
394271 | .NET Framework 4.6.1 |
394802 | .NET Framework 4.6.2 unter Windows 10 1607 |
394806 | .NET Framework 4.6.2 |
460798 | .NET Framework 4.7 unter Windows 10 1703 |
460805 | .NET Framework 4.7 |
461308 | .NET Framework 4.7.1 unter Windows 10 1709 |
461310 | .NET Framework 4.7.1 |
461808 | .NET Framework 4.7.2 unter Windows 10 1803 |
461814 | .NET Framework 4.7.2 |
528372 | .NET Framework 4.8 unter Windows 10 2004, 20H2 und 21H1 |
528040 | .NET Framework 4.8 unter Windows 10 1903 und 1909 |
528449 | .NET Framework 4.8 unter Windows Server 2022 und Windows 11 |
528049 | .NET Framework 4.8 (andere Fensterversionen) |
So überprüfen Sie die .NET Framework-Version mit PowerShell?
Sie können Informationen über installierte Versionen und Releases von NET Framework auf Ihrem Computer mithilfe von PowerShell abrufen. Der einfachste Weg, diese Informationen direkt aus der Registrierung abzurufen, ist die Verwendung der Cmdlets Get-ChildItem
und Get-ItemProperty
(weitere Informationen zum Verwalten von Registrierungseinträgen mit PowerShell).
Um eine Liste aller Versionen von .Net Framework auf einem Computer anzuzeigen, führen Sie den Befehl:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version
.Net-Versionen 2.0, 3.0, 3.5 und 4.7 sind auf diesem Computer installiert.
Sie können nur die Versionsnummer für (.Net 4.x Versionen):
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release).Release
Gemäß der Tabelle entspricht die Nummer 528449 dem .Net Framework 4.8 unter Windows 11.
Liste installiert .NET-Versionen auf Remotecomputern
Mithilfe von PowerShell können Sie eine Liste der .Net Framework-Versionen abrufen, die auf Computern in Ihrem Netzwerk installiert sind.
Hier ist ein kleines PowerShell-Skript, das eine Liste von Computern aus einer Textdatei abfragt und remote nach installierten Versionen von .Net Framework sucht. Das WinRM-Cmdlet Invoke-Command wird zum Ausführen von Befehlen auf Remotecomputern verwendet.
Function GetNetFrameworkVersion {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!)\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { "4.5" }
"378675|378758" { "4.5.1" }
"379893" { "4.5.2" }
"393295|393297" { "4.6" }
"394254|394271" { "4.6.1" }
"394802|394806" { "4.6.2" }
"460798|460805" { "4.7" }
"461308|461310" { "4.7.1" }
"461808|461814" { "4.7.2" }
"528040|528049|528449|528372" { "4.8" }
{$_ -gt 528449} { "unidentified version (> 4.8)" }
}
}
}
}
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server in $servers)
{
$result+=Invoke-Command -ComputerName $server -ScriptBlock $function:GetNetFrameworkVersion
}
$result| select PSComputerName,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product,Version,Release| Out-GridView
Das Skript zeigt eine grafische Tabelle (über Out-GridView) mit einer Liste der auf Remotecomputern installierten .Net Framework-Versionen an.
Sie können auch eine Liste der Computer festlegen, auf denen die .NET-Version wie folgt überprüft werden soll:
$servers= @("comp1","comp2","comp3","comp4")
Sie können auch eine Liste der Domänencomputer mit dem Cmdlet Get-ADComputer (aus dem Modul Active Directory für Windows PowerShell) abrufen. Mit dem folgenden Befehl werden alle aktiven Windows Server-Hosts in der Domäne ausgewählt:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'
Wie finde ich die .NET Framework-Version mit CMD heraus?
Alle Versionen der .NET Framework werden in den folgenden Windows-Ordnern installiert:
%SystemRoot%\Microsoft.NET\Framework
%SystemRoot%\Microsoft.NET\Framework64
Sie können diesen Ordner einfach öffnen und eine Liste der installierten .NET-Versionen anzeigen. Jede Version hat ein eigenes Verzeichnis mit einem v und einer Versionsnummer als Ordnernamen. Sie können die installierten Versionen von .NET Framework über die Eingabeaufforderung auflisten: