Teilen aus Rick Strahls Beitrag: Welchen .NET Core Runtime Download benötigen Sie?
Zum Ausführen einer Anwendung ist nur die .NET Core Runtime erforderlich, die Informationen zur Installation enthält.
Zum Entwickeln, Erstellen und Veröffentlichen einer Anwendung ist ein SDK erforderlich.
dotnet.exe
Wird mit einer Laufzeitinstallation installiert, bietet jedoch nur Kernfunktionen , um Informationen zum Ausführen einer Anwendung und Informationen zur Installation bereitzustellen: dotnet mydll.dll
und dotnet --info
. Um etwas anderes zu erstellen, zu veröffentlichen oder zu tun, müssen Sie das SDK installieren.
Wenn Sie den folgenden Befehl ausführen, erhalten Sie Informationen zur Installation:
dotnet --info
Wenn der Befehl fehlschlägt, ist die .NET Core-Laufzeit nicht im PATH des Systems installiert oder verfügbar.
Unten finden Sie eine Beispielausgabe des Befehls.
$ dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.2.101
Commit: 236713b0b7
Runtime Environment:
OS Name: Mac OS X
OS Version: 10.13
OS Platform: Darwin
RID: osx.10.13-x64
Base Path: /usr/local/share/dotnet/sdk/2.2.101/
Host (useful for support):
Version: 2.2.0
Commit: 1249f08fed
.NET Core SDKs installed:
2.1.4 [/usr/local/share/dotnet/sdk]
2.1.302 [/usr/local/share/dotnet/sdk]
2.2.101 [/usr/local/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
Die Ausgabe sagt Ihnen:
- Die installierte SDK-Version
- Die aktive Laufzeitversion, in der dieser Dotnet-Befehl ausgeführt wird
- Eine Liste aller installierten Laufzeiten und SDKs
Durch die Installation eines SDK wird auch die Laufzeit installiert.
MacOS Homebrew spezifisch
Die Installation des Homebrew-Cask- Dotnet steht in Konflikt mit dem Dotnet-SDK . Um sowohl die Laufzeit als auch das SDK zu erhalten, installieren Sie Dotnet-SDK
brew cask install dotnet-sdk
Kurz gesagt, die Laufzeit ermöglicht es Ihrem Betriebssystem, kompilierte C-Sharp , C # -Programme auszuführen , und das SDK ermöglicht es Ihnen, in C-Sharp , C # geschriebene Programme zu kompilieren .
Es ist wichtig zu verstehen, dass Sie mehrere Laufzeiten und mehrere SDKs installieren können und jedes Projekt ein anderes verwenden kann. Die Laufzeit wird durch den Laufzeitspezifizierer Ihres Projekts in der .csproj
Datei bestimmt:
<TargetFramework>netcoreapp2.1</TargetFramework>
Das SDK ist entweder das letzte global installierte SDK, das die Standardeinstellung ist, oder Sie können das SDK explizit in einer global.json überschreiben, die sich im Stammverzeichnis der Lösung befindet. Das Folgende zwingt mein Projekt ausdrücklich dazu, das letzte RC SDK anstelle der RTM-Version zu verwenden:
{
"sdk": {
"version": "2.1.300-rc.31211"
}
}
Im Allgemeinen sollte es nicht erforderlich sein, eine bestimmte niedrigere SDK-Version zu verwenden, da das SDK abwärtskompatibel ist und verschiedene Versionen von .NET Core-Anwendungen auf Version 1.0 kompilieren kann. IOW, es ist in fast allen Fällen in Ordnung, das neueste SDK zu verwenden.
.NET-Kernlaufzeiten
Die .NET Core-Laufzeiten sind die kleinste eigenständige und spezifische Komponente und enthalten das absolute Minimum, um nur .NET Core auf einer bestimmten Plattform auszuführen.
Beachten Sie, dass eine Laufzeitinstallation die Laufzeitabhängigkeiten des ASP.NET Core-Metapakets nicht enthält. Wenn Ihre Anwendung also auf Microsoft.AspNetCore.App oder Microsoft.AspNetCore.All verweist, müssen Sie das ASP.NET Core-Paket separat herunterladen. Wenn Sie jedoch explizit auf alle ASP.NET Core Nuget-Pakete verweisen, anstatt die Metapakete zu verwenden, werden diese Pakete als Teil Ihrer Anwendung bereitgestellt und können nur zur Laufzeit ausgeführt werden.
Im Wesentlichen tauschen Sie die Größe des Installationspakets gegen eine Laufzeitvorinstallationsanforderung.
Verweise: