Selon le .Net Core Guide , .NET Core est composé des éléments suivants
- Un runtime .NET, qui fournit un système de type, le chargement d'assembly, un garbage collector, une interopérabilité native et d'autres services de base.
- Un ensemble de bibliothèques de framework, qui fournissent des types de données primitifs, des types de composition d'application et des utilitaires fondamentaux.
- Ensemble d'outils du SDK et de compilateurs de langage qui permettent l'expérience de développement de base, disponible dans le SDK .NET Core.
- L'hôte d'application «dotnet», utilisé pour lancer les applications .NET Core. Il sélectionne le runtime et héberge le runtime, fournit une politique de chargement d'assembly et lance l'application. Le même hôte est également utilisé pour lancer les outils SDK de la même manière.
Le SDK est tout ce qui est nécessaire / facilite le développement d'une application .NET Core, comme la CLI et un compilateur.
Le runtime est la "machine virtuelle" qui héberge / exécute l'application et résume toute l'interaction avec le système d'exploitation de base.
Seul ce dernier est nécessaire pour exécuter l'application, mais le premier est nécessaire pour développer l'application.
dotnet myapp.dll
si le cli est requis pour exécuter une application, comment diable ne peut-il pas faire partie du runtime?Runtime : pour exécuter des applications
SDK (Runtime + Tooling) : pour créer et exécuter des applications
la source
Je n'invente rien ici. Copiez-collez simplement les définitions de https://www.microsoft.com/net/download
Le kit de développement logiciel ( SDK ) comprend tout ce dont vous avez besoin pour créer et exécuter des applications .NET Core, à l'aide d'outils de ligne de commande et de n'importe quel éditeur (y compris Visual Studio).
Le runtime inclut uniquement les ressources requises pour exécuter les applications .NET Core existantes. Le runtime est inclus dans le SDK.
la source
Partage du post de Rick Strahl: De quel téléchargement .NET Core Runtime avez-vous besoin?
Seul le .NET Core Runtime est requis pour exécuter une application et fournit des informations sur l'installation.
Pour développer, créer et publier une application, il faudra un SDK.
Si la commande échoue, cela signifie que vous n'avez pas le runtime .NET Core installé ou disponible dans le PATH du système.
Voici un exemple de sortie de la commande.
L'installation d'un SDK installe également le runtime.
spécifique à macOS homebrew
L'installation du dotnet homebrew-cask sera en conflit avec le dotnet-sdk , donc pour obtenir à la fois le runtime et le sdk install dotnet-sdk
En bref, le runtime permettra à votre système d'exploitation d'exécuter des programmes compilés C-Sharp , C # , et le sdk vous permettra de compiler des programmes écrits en C-Sharp , C # .
<TargetFramework>netcoreapp2.1</TargetFramework>
Références:
la source
Microsoft.AspNetCore.App
répertorié sous runtimes? Je pensais que CLR serait un runtime?shared/Microsoft.NETCore.App/<runtime version>
sont les runtimes. Leshared/Microsoft.AspNetCore.{App,All}/<aspnetcore version>
contient les bibliothèques ASP.NET Core. docs.microsoft.com/en-us/dotnet/core/build/…Le SDK est tout ce qui est nécessaire / facilite le développement d'une application .NET Core, comme la CLI et un compilateur.
Le runtime est la "machine virtuelle" qui héberge / exécute l'application et résume toute l'interaction avec le système d'exploitation de base.
la source
En résumé: si vous installez le SDK, vous aurez tout ce dont vous avez besoin pour le développement et l'exécution de l'application.
la source
Le SDK comprend généralement de la documentation et d'autres fichiers d'aide. Le runtime contient uniquement les fichiers binaires pour l'installation.
la source
en ajoutant à la réponse de stormwild au cas où vous n'avez installé que le .Net Core Runtime, vous recevrez la sortie suivante de dotnet --info
la source
L'exécution est suffisante si nous voulons exécuter uniquement une application sur du matériel, sinon pour développer et exécuter, nous avons besoin du SDK (qui comprend l'exécution et les outils).
la source
En termes simples, selon ma compréhension et la référence de l'article https://karthikekblog.com/net-core-sdk-vs-runtime-vs-hosting-bundle/
.NET SDK - Cela comprend tout ce dont vous avez besoin, de la création de l'application .Net Core à la création, l'exécution et la publication des applications. Cela nécessite purement l'environnement de développement, afin que les développeurs puissent développer l'application à partir de zéro et construire, déboguer et exécuter l'application.
Runtime - Cela n'a que les composants nécessaires pour exécuter les applications .NET Core. Ainsi, cela peut être installé côté serveur où vous déployez l'application et ne nécessite pas de builds et de débogages. Il nécessitait des composants d'hébergement IIS séparément. Au lieu de cela, vous pouvez utiliser Hosting Bundle pour Windows.
la source
Lorsque vous installez SDK, vous obtenez également le temps d'exécution. Vérifiez ceci ci-dessous, c'est ce qui est installé lorsque nous installons le SDK.
Les éléments suivants ont été installés sur C: \ Program Files \ dotnet • .NET Core SDK 2.2.100 • .NET Core Runtime 2.2.0 • ASP.NET Core Runtime 2.2.0
la source