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.
dotnet.exe
avec un moteur d' exécution installations d' installation, mais il ne fournit que des caractéristiques essentielles pour fournir des informations pour exécuter une application et fournir des informations sur l'installation: dotnet mydll.dll
et dotnet --info
. Pour créer, 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 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.
$ 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 indique:
- La version du SDK installée
- La version d'exécution active qui exécute cette commande dotnet
- Une liste de tous les runtimes et SDK installés
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
brew cask 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 # .
Il est important de comprendre que vous pouvez avoir plusieurs environnements d'exécution et plusieurs SDK installés et que chaque projet peut en utiliser un différent. Le runtime est déterminé par le spécificateur d'exécution de votre projet dans le .csproj
fichier:
<TargetFramework>netcoreapp2.1</TargetFramework>
Le SDK est soit le dernier SDK installé globalement qui est la valeur par défaut, soit vous pouvez remplacer explicitement le SDK dans un 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 ne devrait pas être nécessaire d'utiliser une version inférieure spécifique du SDK car le SDK est rétrocompatible et peut compiler diverses versions de .NET Core applicatino vers la v1.0. IOW, vous pouvez utiliser le dernier SDK dans presque tous les cas.
Runtimes .NET Core
Les Runtimes .NET Core sont le plus petit composant autonome et spécifique et contiennent le minimum absolu pour exécuter uniquement .NET Core sur une plate-forme spécifique.
Notez qu'une installation d'exécution n'inclut pas les dépendances d'exécution du méta-package ASP.NET Core, donc si votre application fait référence à Microsoft.AspNetCore.App ou Microsoft.AspNetCore, vous devez télécharger séparément le package ASP.NET Core. Toutefois, si vous référencez explicitement tous les packages ASP.NET Core Nuget plutôt que d'utiliser les méta packages, ces packages sont déployés dans le cadre de votre application et peuvent s'exécuter uniquement avec le runtime.
Essentiellement, vous négociez la taille du package d'installation par rapport à une exigence de pré-installation d'exécution.
Références: