Rick Strahl'ın gönderisinden paylaşım: Hangi .NET Core Runtime İndirmesine ihtiyacınız var?
Bir uygulamayı çalıştırmak için yalnızca .NET Core Runtime gereklidir ve yükleme hakkında bilgi sağlar.
Bir uygulama geliştirmek, oluşturmak ve yayınlamak için bir SDK gerekir.
dotnet.exe
bir çalışma zamanı yüklemesiyle birlikte yükler, ancak yalnızca bir uygulamayı çalıştırmak için bilgi sağlamak ve yükleme hakkında bilgi sağlamak için temel özellikler sağlar : ve . Derlemek, yayınlamak veya başka herhangi bir şey yapmak için SDK'yı yüklemeniz gerekir.dotnet mydll.dll
dotnet --info
Aşağıdaki komutu çalıştırmak, kurulum hakkında bilgi sağlayacaktır:
dotnet --info
Komut başarısız olursa bu, .NET Core çalışma zamanının yüklü olmadığı veya sistemin PATH'inde mevcut olmadığı anlamına gelir.
Aşağıda komutun örnek bir çıktısı bulunmaktadır.
$ 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
Çıktı size şunu söyler:
- Yüklü SDK sürümü
- Bu dotnet komutunu çalıştıran etkin çalışma zamanı sürümü
- Yüklü tüm çalışma zamanlarının ve SDK'ların listesi
Bir SDK yüklemek, çalışma zamanını da yükler.
macOS homebrew'e özgü
Homebrew-cask dotnet'i kurmak, dotnet-sdk ile çakışacaktır , bu nedenle hem çalışma zamanını hem de sdk install dotnet-sdk'yi almak için
brew cask install dotnet-sdk
Kısacası, çalışma zamanı , işletim sisteminizin derlenmiş C-Sharp , C # programlarını çalıştırmasına izin verecek ve sdk , C-Sharp , C # ile yazılmış programları derlemenize izin verecektir .
Birden çok çalıştırma zamanınız ve birden çok SDK yükleyebileceğinizi ve her projenin farklı bir tane kullanabileceğini anlamak önemlidir. Çalışma zamanı, projenizin .csproj
dosyadaki çalışma zamanı belirticisi tarafından belirlenir :
<TargetFramework>netcoreapp2.1</TargetFramework>
SDK, varsayılan olan en son küresel olarak yüklenmiş SDK'dır veya SDK'yı çözüm kök klasörüne yerleştirilmiş bir global.json dosyasında açıkça geçersiz kılabilirsiniz. Aşağıdakiler, projemi açıkça RTM sürümü yerine son RC SDK'yı kullanmaya zorluyor:
{
"sdk": {
"version": "2.1.300-rc.31211"
}
}
Genel olarak, SDK geriye dönük olarak uyumlu olduğundan ve .NET Core aplikasyonunun çeşitli sürümlerini v1.0'a geri derleyebildiğinden, belirli bir alt SDK sürümünü kullanmaya gerek yoktur. IOW, neredeyse tüm durumlarda en son SDK'yı kullanmakta sorun yok.
.NET Core Runtimes
.NET Core Runtimes, en küçük bağımsız ve özel bileşendir ve belirli bir platformda yalnızca .NET Core çalıştırmak için mutlak minimum değeri içerir.
Bir çalışma zamanı yüklemesinin ASP.NET Core meta paketi çalışma zamanı bağımlılıklarını içermediğini unutmayın, bu nedenle uygulamanız Microsoft.AspNetCore.App veya Microsoft.AspNetCore.All'a başvuruyorsa, ASP.NET Core paketini ayrı olarak indirmeniz gerekir. Ancak, meta paketlerini kullanmak yerine tüm ASP.NET Core Nuget paketlerine açıkça başvurursanız, bu paketler uygulamanızın bir parçası olarak dağıtılır ve yalnızca çalışma zamanıyla çalıştırılabilir.
Esasen, yükleme paketi boyutu ile çalışma zamanı ön yükleme gereksinimiyle ticaret yapıyorsunuz.
Referanslar: