Menurut .Net Core Guide , .NET Core terdiri dari item berikut
- Sebuah runtime .NET, yang menyediakan sistem tipe, pemuatan perakitan, pengumpul sampah, interop asli, dan layanan dasar lainnya.
- Satu set pustaka framework, yang menyediakan tipe data primitif, tipe komposisi aplikasi, dan utilitas dasar.
- Seperangkat alat SDK dan kompiler bahasa yang memungkinkan pengalaman pengembang dasar, tersedia di .NET Core SDK.
- Host aplikasi 'dotnet', yang digunakan untuk meluncurkan aplikasi .NET Core. Ini memilih runtime dan menghosting runtime, menyediakan kebijakan pemuatan assembly dan meluncurkan aplikasi. Host yang sama juga digunakan untuk meluncurkan alat SDK dengan cara yang hampir sama.
SDK adalah semua hal yang dibutuhkan / membuat pengembangan aplikasi .NET Core lebih mudah, seperti CLI dan kompiler.
Runtime adalah "mesin virtual" yang menghosting / menjalankan aplikasi dan mengabstraksi semua interaksi dengan sistem operasi dasar.
Hanya yang terakhir diperlukan untuk menjalankan aplikasi, tetapi yang pertama diperlukan untuk mengembangkan aplikasi.
dotnet myapp.dll
jika cli diperlukan untuk menjalankan aplikasi, bagaimana bisa itu tidak menjadi bagian dari runtime?Runtime : untuk menjalankan aplikasi
SDK (Runtime + Tooling) : untuk membangun dan menjalankan aplikasi
sumber
Saya tidak menemukan apa pun di sini. Cukup salin-tempel definisi dari https://www.microsoft.com/net/download
Kit pengembangan perangkat lunak ( SDK ) mencakup semua yang Anda butuhkan untuk membangun dan menjalankan aplikasi .NET Core, menggunakan alat baris perintah dan editor apa pun (termasuk Visual Studio).
The runtime mencakup hanya sumber daya yang diperlukan untuk menjalankan aplikasi yang ada NET Core. Runtime disertakan dalam SDK.
sumber
Berbagi dari posting Rick Strahl: Unduhan Waktu Proses Inti .NET manakah yang Anda perlukan?
Hanya .NET Core Runtime yang diperlukan untuk menjalankan aplikasi dan memberikan informasi tentang penginstalan.
Untuk mengembangkan, membangun dan menerbitkan aplikasi akan membutuhkan SDK.
Jika perintah gagal, artinya Anda tidak memiliki runtime .NET Core diinstal atau tersedia di PATH sistem.
Di bawah ini adalah contoh keluaran dari perintah.
Menginstal SDK juga menginstal runtime.
khusus macOS homebrew
Menginstal dotnet homebrew-cask akan berkonflik dengan dotnet-sdk , jadi untuk mendapatkan runtime, dan sdk menginstal dotnet-sdk
Singkatnya, runtime akan memungkinkan OS Anda menjalankan program C-Sharp , C # yang dikompilasi , dan sdk akan memungkinkan Anda untuk mengkompilasi program yang ditulis dalam C-Sharp , C # .
<TargetFramework>netcoreapp2.1</TargetFramework>
Referensi:
sumber
Microsoft.AspNetCore.App
dicantumkan di bawah runtime? Saya pikir CLR akan menjadi runtime?shared/Microsoft.NETCore.App/<runtime version>
runtime saja. Theshared/Microsoft.AspNetCore.{App,All}/<aspnetcore version>
berisi perpustakaan ASP.NET Core. docs.microsoft.com/en-us/dotnet/core/build/…SDK adalah semua hal yang dibutuhkan / membuat pengembangan aplikasi .NET Core lebih mudah, seperti CLI dan kompiler.
Runtime adalah "mesin virtual" yang menghosting / menjalankan aplikasi dan mengabstraksi semua interaksi dengan sistem operasi dasar.
sumber
Sebagai ringkasan: Jika Anda menginstal SDK, Anda akan memiliki semua yang Anda butuhkan untuk pengembangan dan menjalankan aplikasi.
sumber
SDK biasanya menyertakan dokumentasi dan file bantuan lainnya. Runtime hanya berisi file biner untuk penginstalan.
sumber
menambahkan ke jawaban stormwild jika Anda hanya menginstal .Net Core Runtime, Anda akan menerima output berikut dari dotnet --info
sumber
Runtime cukup jika kita hanya ingin menjalankan aplikasi pada perangkat keras, sebaliknya untuk mengembangkan dan menjalankan kita membutuhkan SDK (yang mencakup runtime dan perkakas).
sumber
Secara sederhana, sesuai pemahaman saya dan referensi dari artikel https://karthikekblog.com/net-core-sdk-vs-runtime-vs-hosting-bundle/
.NET SDK - Ini mencakup semua yang Anda butuhkan mulai dari membuat aplikasi .Net Core hingga membangun, menjalankan, dan menerbitkan aplikasi. Ini murni dibutuhkan oleh lingkungan pengembangan, sehingga pengembang dapat mengembangkan aplikasi dari awal dan membangun, men-debug dan menjalankan aplikasi.
Runtime - Ini hanya memiliki komponen yang diperlukan untuk menjalankan aplikasi .NET Core. SO ini dapat diinstal di sisi server tempat Anda menerapkan aplikasi dan tidak memerlukan build dan debug. Untuk itu diperlukan komponen hosting IIS secara terpisah. Sebagai gantinya, Anda dapat menggunakan Hosting Bundle untuk Windows.
sumber
Saat Anda menginstal SDK, Anda juga mendapatkan runtime di dalamnya. Periksa ini di bawah, inilah yang terinstal ketika kita menginstal SDK.
Berikut ini telah diinstal di C: \ Program Files \ dotnet • .NET Core SDK 2.2.100 • .NET Core Runtime 2.2.0 • ASP.NET Core Runtime 2.2.0
sumber