Zgodnie z przewodnikiem dotyczącym platformy .Net Core , platforma .NET Core składa się z następujących elementów
- Środowisko uruchomieniowe .NET, które zapewnia system typów, ładowanie zestawu, moduł odśmiecania pamięci, natywną współpracę międzyoperatorską i inne podstawowe usługi.
- Zestaw bibliotek platformy, które zapewniają prymitywne typy danych, typy kompozycji aplikacji i podstawowe narzędzia.
- Zestaw narzędzi SDK i kompilatorów języków, które umożliwiają podstawowe środowisko programistyczne, dostępne w zestawie .NET Core SDK.
- Host aplikacji „dotnet”, który jest używany do uruchamiania aplikacji .NET Core. Wybiera środowisko uruchomieniowe i hostuje środowisko uruchomieniowe, udostępnia zasady ładowania zestawu i uruchamia aplikację. Ten sam host jest również używany do uruchamiania narzędzi SDK w podobny sposób.
Zestaw SDK to wszystko, co jest potrzebne / ułatwia tworzenie aplikacji .NET Core, na przykład interfejs wiersza polecenia i kompilator.
Środowisko wykonawcze jest „maszyną wirtualną”, na której znajduje się / uruchamia aplikację i która usuwa wszystkie interakcje z podstawowym systemem operacyjnym.
Do uruchomienia aplikacji wymagana jest tylko ta ostatnia, ale ta pierwsza jest potrzebna do rozwoju aplikacji.
dotnet myapp.dll
Jeśli CLI jest wymagane do uruchomienia aplikacji, jak u licha nie może być częścią środowiska wykonawczego?Runtime : do uruchamiania aplikacji
SDK (Runtime + Tooling) : do tworzenia i uruchamiania aplikacji
źródło
Niczego tu nie wymyślam. Po prostu skopiuj i wklej definicje z https://www.microsoft.com/net/download
Zestaw do tworzenia oprogramowania ( SDK ) zawiera wszystko, czego potrzebujesz do tworzenia i uruchamiania aplikacji .NET Core przy użyciu narzędzi wiersza poleceń i dowolnego edytora (w tym programu Visual Studio).
Środowisko wykonawcze obejmuje tylko zasoby wymagane do uruchamiania istniejących aplikacji .NET Core. Środowisko wykonawcze jest zawarte w SDK.
źródło
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.
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.
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
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 # .
<TargetFramework>netcoreapp2.1</TargetFramework>
Bibliografia:
źródło
Microsoft.AspNetCore.App
wymieniony w środowisku wykonawczym? Myślałem, że CLR będzie środowiskiem uruchomieniowym?shared/Microsoft.NETCore.App/<runtime version>
środowiska wykonawcze.shared/Microsoft.AspNetCore.{App,All}/<aspnetcore version>
Zawiera biblioteki ASP.NET rdzenia. docs.microsoft.com/en-us/dotnet/core/build/…Zestaw SDK to wszystko, co jest potrzebne / ułatwia tworzenie aplikacji .NET Core, na przykład interfejs wiersza polecenia i kompilator.
Środowisko wykonawcze jest „maszyną wirtualną”, na której znajduje się / uruchamia aplikację i która usuwa wszystkie interakcje z podstawowym systemem operacyjnym.
źródło
Podsumowując: jeśli zainstalujesz SDK, będziesz mieć wszystko, czego potrzebujesz do programowania i uruchamiania aplikacji.
źródło
SDK zwykle zawiera dokumentację i inne pliki pomocy. Środowisko wykonawcze zawiera tylko pliki binarne potrzebne do instalacji.
źródło
dodając do odpowiedzi stormwilda w przypadku, gdy masz zainstalowane tylko środowisko uruchomieniowe .Net Core, otrzymasz następujące dane wyjściowe z dotnet --info
źródło
Środowisko uruchomieniowe jest wystarczające, jeśli chcemy uruchamiać tylko aplikację na sprzęcie, w przeciwnym razie do tworzenia i uruchamiania potrzebujemy SDK (który obejmuje środowisko wykonawcze i narzędzia).
źródło
Mówiąc najprościej, zgodnie z moim zrozumieniem i odniesieniem z artykułu https://karthikekblog.com/net-core-sdk-vs-runtime-vs-hosting-bundle/
NET SDK - obejmuje wszystko, czego potrzebujesz, od tworzenia aplikacji .Net Core po tworzenie, uruchamianie i publikowanie aplikacji. Jest to wymagane wyłącznie przez środowisko programistyczne, więc programiści mogą opracowywać aplikację od podstaw i budować, debugować i uruchamiać aplikację.
Środowisko uruchomieniowe - zawiera tylko składniki wymagane do uruchamiania aplikacji .NET Core. Więc można to zainstalować po stronie serwera, na którym wdrażasz aplikację i nie wymaga to kompilacji ani debugowania. Wymagało to osobnych składników hostingu usług IIS. Zamiast tego możesz użyć pakietu hostingowego dla systemu Windows.
źródło
Po zainstalowaniu SDK otrzymujesz również środowisko wykonawcze. Sprawdź to poniżej, to jest instalowane, gdy instalujemy SDK.
Następujące elementy zostały zainstalowane w C: \ Program Files \ dotnet • .NET Core SDK 2.2.100 • .NET Core Runtime 2.2.0 • ASP.NET Core Runtime 2.2.0
źródło