Udostępnianie z posta Ricka Strahla: Którego pobrania .NET Core Runtime potrzebujesz?
Tylko środowisko uruchomieniowe .NET Core jest wymagane do uruchomienia aplikacji i zawiera informacje o instalacji.
Aby opracować, skompilować i opublikować aplikację, będzie wymagany zestaw SDK.
dotnet.exe
instaluje się z instalacją w środowisku wykonawczym, ale zapewnia tylko podstawowe funkcje, aby zapewnić informacje do uruchomienia aplikacji i informacje o instalacji: dotnet mydll.dll
i dotnet --info
. Aby tworzyć, publikować lub robić cokolwiek innego, musisz zainstalować pakiet SDK.
Uruchomienie następującego polecenia dostarczy informacji o instalacji:
dotnet --info
Jeśli polecenie nie powiedzie się, oznacza to, że nie masz zainstalowanego lub dostępnego środowiska uruchomieniowego .NET Core w PATH systemu.
Poniżej znajduje się przykładowe wyjście polecenia.
$ 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
Dane wyjściowe mówią:
- Zainstalowana wersja SDK
- Wersja aktywnego środowiska uruchomieniowego, w której działa to polecenie dotnet
- Lista wszystkich zainstalowanych środowisk wykonawczych i zestawów SDK
Zainstalowanie zestawu SDK powoduje również zainstalowanie środowiska wykonawczego.
Specyficzne dla macOS homebrew
Instalowanie dotnet homebrew-cask spowoduje konflikt z dotnet-sdk , aby uzyskać zarówno środowisko uruchomieniowe, jak i pakiet SDK, zainstaluj dotnet-sdk
brew cask install dotnet-sdk
Krótko mówiąc, środowisko wykonawcze pozwoli Twojemu systemowi operacyjnemu uruchamiać skompilowane programy C-Sharp , C # , a sdk pozwoli ci skompilować programy napisane w C-Sharp , C # .
Ważne jest, aby zrozumieć, że możesz mieć wiele środowisk wykonawczych i wiele zainstalowanych zestawów SDK, a każdy projekt może korzystać z innego. Środowisko wykonawcze jest określane przez specyfikator środowiska uruchomieniowego projektu w .csproj
pliku:
<TargetFramework>netcoreapp2.1</TargetFramework>
Zestaw SDK to ostatni globalnie zainstalowany zestaw SDK, który jest domyślny, lub można jawnie zastąpić zestaw SDK w pliku global.json umieszczonym w folderze głównym rozwiązania. Poniższe jawnie wymusza na moim projekcie użycie ostatniego zestawu RC SDK zamiast wersji RTM:
{
"sdk": {
"version": "2.1.300-rc.31211"
}
}
Ogólnie rzecz biorąc, nie powinno być potrzeby używania określonej niższej wersji zestawu SDK, ponieważ zestaw SDK jest kompatybilny wstecz i może kompilować różne wersje aplikacji .NET Core z powrotem do wersji 1.0. IOW, prawie we wszystkich przypadkach można używać najnowszego zestawu SDK.
Środowiska wykonawcze platformy .NET Core
Środowiska uruchomieniowe .NET Core to najmniejsze samodzielne i określone składniki, które zawierają absolutne minimum niezbędne do uruchomienia tylko platformy .NET Core na określonej platformie.
Należy zauważyć, że instalacja środowiska uruchomieniowego nie obejmuje zależności środowiska uruchomieniowego meta pakietu ASP.NET Core, więc jeśli aplikacja odwołuje się do Microsoft.AspNetCore.App lub Microsoft.AspNetCore.All, musisz osobno pobrać pakiet ASP.NET Core. Jeśli jednak jawnie odwołujesz się do wszystkich pakietów ASP.NET Core Nuget zamiast używać pakietów meta, te pakiety są wdrażane jako część aplikacji i mogą być uruchamiane tylko ze środowiskiem uruchomieniowym.
Zasadniczo wymieniasz rozmiar pakietu instalacyjnego w porównaniu z wymaganiami przed instalacją w środowisku wykonawczym.
Bibliografia: