Partage de l'article de Rick Strahl : De quel téléchargement du moteur d'exécution .NET Core avez-vous besoin ?
Seul le moteur d'exécution .NET Core est nécessaire pour exécuter une application et fournit des informations sur l'installation.
Pour développer, construire et publier une application, il faut un SDK.
dotnet.exe
s'installe avec une installation d'exécution, mais il fournit seulement Caractéristiques principales pour fournir des informations à exécuter une application et fournir des informations sur l'installation : dotnet mydll.dll
y dotnet --info
. Pour construire, publier ou faire quoi que ce soit d'autre, vous devez installer le SDK.
L'exécution de la commande suivante fournira des informations sur l'installation :
dotnet --info
Si la commande échoue, cela signifie que le runtime .NET Core n'est pas installé ou disponible dans le PATH du système.
Vous trouverez ci-dessous un exemple de sortie de la commande.
$ 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
La sortie vous dit :
- La version du SDK installée
- La version active du runtime qui exécute cette commande dotnet.
- Une liste de tous les runtimes et SDK installés
L'installation d'un SDK entraîne également l'installation du runtime.
macOS homebrew spécifique
Installer le homebrew-cask dotnet sera en conflit avec le dotnet-sdk afin d'obtenir à la fois le temps d'exécution et l'adresse de l'utilisateur. sdk installer dotnet-sdk
brew cask install dotnet-sdk
En bref, le temps de fonctionnement permettra à votre système d'exploitation d'exécuter des fichiers compilés C-Sharp , C# et les programmes de sdk vous permettra de compiler des programmes écrits en C-Sharp , C# .
Il est important de comprendre que vous pouvez avoir plusieurs runtimes et plusieurs SDK installés et que chaque projet peut en utiliser un différent. Le runtime est déterminé par le spécificateur de runtime de votre projet dans le champ .csproj
fichier :
<TargetFramework>netcoreapp2.1</TargetFramework>
Le SDK est soit le dernier SDK installé globalement, ce qui est le cas par défaut, soit vous pouvez explicitement remplacer le SDK dans un fichier global.json placé dans le dossier racine de la solution. Ce qui suit force explicitement mon projet à utiliser le dernier SDK RC, au lieu de la version RTM :
{
"sdk": {
"version": "2.1.300-rc.31211"
}
}
En règle générale, il n'est pas nécessaire d'utiliser une version inférieure spécifique du SDK, car ce dernier est rétrocompatible et peut compiler différentes versions d'applications .NET Core jusqu'à la version 1.0. Autrement dit, il est normal d'utiliser la dernière version du SDK dans la plupart des cas.
Runtimes .NET Core
Les runtimes .NET Core sont les plus petits composants autonomes et spécifiques et contiennent le minimum absolu pour exécuter uniquement .NET Core sur une plateforme spécifique.
Notez qu'une installation d'exécution n'inclut pas les dépendances d'exécution du méta-paquet ASP.NET Core, donc si votre application fait référence à Microsoft.AspNetCore.App ou Microsoft.AspNetCore.All, vous devez télécharger séparément le paquet ASP.NET Core. Toutefois, si vous faites explicitement référence à tous les paquets Nuget d'ASP.NET Core plutôt que d'utiliser les méta-paquets, ces paquets sont déployés en tant que partie intégrante de votre application et celle-ci peut s'exécuter avec le seul runtime.
Il s'agit essentiellement d'échanger la taille du paquet d'installation contre une exigence de pré-installation en cours d'exécution.
Références :
11 votes
Le SDK sert à construire l'application. Le Runtime sert à exécuter l'application.