Ich weiß, dass Sie für ältere Versionen von .NET feststellen können, ob eine bestimmte Version installiert ist
https://support.Microsoft.com/en-us/kb/318785
Gibt es eine offizielle Methode, um festzustellen, ob .NET Core installiert ist?
(Und ich meine nicht das SDK, ich möchte einen Server ohne das SDK überprüfen, um festzustellen, ob DotNetCore.1.0.0-WindowsHosting.exe installiert ist.)
Ich kann es sehen
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NET Cross-Platform Runtime Environment\.NET Framework 4.6\Win\v1-rc1
mit der Versionsnummer 1.0.11123.0 auf meinem Windows 7-Computer, aber ich sehe nicht dasselbe auf meinem Windows 10-Computer.
Laufzeiten:
(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'shared\Microsoft.NETCore.App')).Name
SDKs:
(dir (Get-Command dotnet).Path.Replace('dotnet.exe', 'sdk')).Name
Tolle Frage und die Antwort ist nicht einfach. Es gibt keinen Befehl "Zeige mir alle .net-Kernversionen", aber es gibt Hoffnung.
EDIT:
Ich bin nicht sicher, wann es hinzugefügt wurde, aber der info-Befehl enthält diese Informationen jetzt in seiner Ausgabe. Es werden die installierten Laufzeiten und SDKs sowie einige andere Informationen ausgedruckt:
dotnet --info
Wenn Sie nur die SDKs anzeigen möchten: dotnet --list-sdks
Wenn Sie nur installierte Laufzeiten anzeigen möchten: dotnet --list-runtimes
Ich bin unter Windows, aber ich denke, das würde auf Mac oder Linux mit einer aktuellen Version funktionieren.
Sie können auch auf das .NET Core Download-Archiv verweisen, um die SDK-Versionen zu entschlüsseln.
ALTE INFORMATIONEN: Alles unter diesem Punkt ist alte Information, die weniger relevant ist, aber dennoch nützlich sein kann.
Siehe installierte Laufzeiten:
Öffnen Sie C:\Program Files\dotnet\shared\Microsoft.NETCore.App
in Windows Explorer
Siehe installierte SDKs:
Öffnen Sie C:\Program Files\dotnet\sdk
in Windows Explorer
(Quelle für die Standorte: Blog eines Entwicklers )
Außerdem können Sie die installierte Version von latest Runtime und SDK anzeigen, indem Sie diese Befehle an der Eingabeaufforderung Prompt ausgeben:
dotnet
Die neueste Runtime-Version wird als erstes aufgelistet.DISCLAIMER: Dies funktioniert nicht mehr, kann jedoch für ältere Versionen funktionieren.
dotnet --version
neueste SDK-VersionDISCLAIMER: Anscheinend kann das Ergebnis von allen Konfigurationsdateien von global.json beeinflusst werden.
Unter macOS können Sie die .net-Kernversion mit dem folgenden Befehl überprüfen.
ls /usr/local/share/dotnet/shared/Microsoft.NETCore.App/
Auf Ubuntu oder Alpine:
ls /usr/share/dotnet/shared/Microsoft.NETCore.App/
Es wird den Ordner mit dem installierten Versionsnamen aufgelistet.
Die richtige Antwort für reine Laufzeitumgebungen ohne das SDK (z. B. einen Server, auf dem das Windows-Hosting-Paket installiert ist) besteht darin, PowerShell mit dem folgenden Befehl auszuführen:
dotnet --info
Gemäß der offiziellen Dokumentation :
--version
-Option "Druckt die verwendete Version des .NET Core SDK aus." und funktioniert daher nicht, wenn das SDK nicht installiert ist. Wohingegen...--info
-Option "Gibt ausführliche Informationen zum CLI-Tooling und zur Umgebung aus, z. B. das aktuelle Betriebssystem, commit SHA für die Version und andere Informationen."Hier ist ein weiterer offizieller Artikel, in dem erklärt wird, wie .NET Core-Versionierung funktioniert. :)
Sie können prüfen, ob dotnet.exe verfügbar ist:
where dotnet
Sie können dann die Version überprüfen:
dotnet --version
(1) Wenn Sie sich im Windows-System befinden.
Öffnen Sie die Eingabeaufforderung.
dotnet --version
(2) Führen Sie den folgenden Befehl aus, wenn Sie ein Linux-System verwenden.
dotnet --version
dotnet --info
Ich arbeite hauptsächlich mit Windows-Entwicklungsmaschinen und -servern.
Ich wollte nur darauf hinweisen (zumindest für NET.Core 2.0 und höher), dass nur dotnet --info
in einer Eingabeaufforderung ausgeführt werden muss, um Informationen über die installierte Version latest zu erhalten. Wenn .NET Core installiert ist, erhalten Sie eine Antwort.
Auf meinem Entwicklungscomputer (Windows 10) ist das Ergebnis wie folgt. Das SDK ist 2.1.2 und die Laufzeit 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
Auf einem meiner Server mit Windows Server 2016 mit Windows Server Hosting Pack (kein SDK) ist das Ergebnis wie folgt. Kein SDK, Laufzeit 2.0.3.
Microsoft .NET Core Shared Framework Host
Version : 2.0.3
Build : a9190d4a75f4a982ae4b4fa8d1a24526566c69df
Prost !
Die folgenden Befehle stehen mit .NET Core SDK 2.1 (v2.1.300) zur Verfügung:
Um alle installierten .NET Core SDKs aufzulisten, verwenden Sie: dotnet --list-sdks
Um alle installierten .NET Core-Laufzeiten aufzulisten, verwenden Sie dotnet --list-runtimes
.
(getestet unter Windows wie geschrieben, 03. Juni 2018 und erneut am 23. August 2018)
Update vom 24. Oktober 2018: Die bessere Option ist wahrscheinlich jetzt dotnet --info
in einem Terminal oder PowerShell-Fenster, wie bereits in anderen Antworten erwähnt.
Schauen Sie in C:\Program Files\dotnet\shared\Microsoft.NETCore.App
nach, welche Versionen der Laufzeitumgebung Verzeichnisse enthalten. Quelle.
Viele Antworten verwechseln das SDK mit der Runtime, die sich unterscheiden.
Nach all den anderen Antworten könnte sich dies als nützlich erweisen.
Öffnen Sie Ihre Anwendung in Visual Studio. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt. Klicken Sie auf Eigenschaften. Klicken Sie auf Anwendung. Klicken Sie unter "Ziel-Framework" auf die Dropdown-Schaltfläche, und Sie sehen alle installierten Frameworks.
Übrigens: Sie können jetzt das gewünschte Framework auswählen.