.NET Core vs ASP.NET Core


Jawaban:


209

Pembaruan 2020 : Perhatikan bahwa ASP.NET Core 3 dan yang lebih tinggi sekarang bergantung pada .NET Core dan tidak lagi dapat digunakan pada .NET Framework. Deskripsi di bawah ini adalah untuk ASP.NET Core 1.x-2.x; pemisahan lapisan masih berlaku untuk ASP.NET Core 3.0 tetapi lapisan ASP.NET Core tidak lagi dapat digunakan di atas .NET Framework di 3.0+.

.NET Core adalah runtime. Itu dapat menjalankan aplikasi yang dibangun untuk itu.

ASP.NET Core adalah kumpulan perpustakaan yang membentuk Kerangka untuk membangun aplikasi web. ASP.NET Core libraries dapat digunakan pada .NET Core dan "Full .NET Framework" (yang telah dikirimkan bersama windows selama bertahun-tahun).

Bagian yang membingungkan adalah bahwa aplikasi yang menggunakan pustaka dan alat ASP.NET Core biasanya disebut sebagai "ASP.NET Core Application", yang secara teori tidak mengatakan apakah itu dibangun untuk .NET Core atau .NET Framework. Jadi "ASP.NET Core Application" juga merupakan ".NET Core Application" atau ".NET Framework Application".

Gambar ini menunjukkan hubungan teknologi yang terlibat (diambil dari posting blog ini ) Teknologi Aplikasi Web NET

Di sini Anda dapat melihat bahwa ASP.NET Core dibangun "di atas" .NET Framework dan .NET Core, sementara "ASP.NET" (sekarang sering disebut sebagai "ASP.NET klasik") adalah .NET Framework saja.


22
Jadi apa yang kita sebut ASP klasik? "ASP Kuno"? : p
Dan Schnau

1
jadi jika aplikasi dikembangkan menggunakan ASP.NET Core maka pada server web kita perlu menginstal .NET Core Runtimedan ASP.NET Core runtimeatau hanya ASP.NET Core runtimecukup
LP13

Tergantung pada versi, 2.1 akan membaginya sedikit, tetapi selama Anda menginstal "bundel hosting" di server, Anda harus baik-baik saja. Jika Anda mengembangkan untuk ASP.NET Core pada .NET Framework, Anda masih memerlukan bundel hosting untuk modul IIS yang diperlukan
Martin Ullrich

3
@DanSchnau, kami memiliki "Classic ASP", "ASP.NET" AKA "Classic ASP.NET" dan "ASP.NET Core", jadi tidak ada konflik sama sekali :)
Gouda

@ LP13: Tidak ada "ASP.NET Core Runtime", hanya sekelompok paket yang tidak dapat dijalankan dengan sendirinya (tanpa pra. NET Core diinstal atau dikirim sebagai aplikasi mandiri)
Tseng

43

ASP.NET Core menggunakan .NET Core - semua dependensi mandiri, dapat menggunakan sebagian besar paket NuGet, tidak dapat menggunakan paket khusus Windows, dapat dijalankan di Windows, Linux, dan Mac.

ASP.NET Core menggunakan .NET Framework - sebagian besar dependensi mandiri, hanya dijalankan pada Windows, akan memiliki akses ke paket NuGet khusus Windows, memerlukan versi .NET framework yang ditargetkan dipasang pada mesin.


8
Siapa yang menyebutkan hal-hal ini? Ini sangat membingungkan.
Nick

1
@Nick: Pemasaran Microsoft. Mereka memiliki sejarah panjang tentang ini. Mereka belum menemukan web - menggunakan kata benda umum untuk produk (tidak baik di dunia mesin pencari di mana kata-kata yang lebih umum kurang umum lebih baik, lebih disukai kata-kata unik yang tidak ada dalam kamus).
Peter Mortensen

23

ASP.NET Core adalah salah satu beban kerja yang didukung oleh .NET Core.

Dari .NET Core guide :

Dengan sendirinya, .NET Core mencakup model aplikasi tunggal - aplikasi konsol - yang berguna untuk alat, layanan lokal, dan game berbasis teks. Model aplikasi tambahan telah dibangun di atas .NET Core untuk memperluas fungsinya, seperti:

  • ASP.NET Core
  • Windows 10 Universal Windows Platform (UWP)
  • Xamarin. Bentuk

Ini jawaban yang lebih relevan bagi saya. .Net Core untuk aplikasi konsol, ASP.Net Core untuk aplikasi web.
Shawn Zhang

5

.NET Framework sedang dalam rilis terakhir. Tidak akan ada yang lain setelah 4.8. Microsoft akan melanjutkan dengan .NET Core. Mulai saat ini Anda harus memilih .NET Core pada proyek Anda.


2

Selain itu, saya ingin menambahkan yang mungkin bisa membantu seseorang.

Ada sesuatu yang disebut injeksi middleware di .NET Core request pipeline. Jika diterapkan dengan benar, ini sangat berguna, karena dapat mencegat pengecualian aplikasi secara otomatis dan membuat pencatatan jauh lebih mudah di satu tempat daripada masuk dalam setiap metode.


Bisakah Anda menambahkan satu atau lebih referensi / tautan ke jawaban Anda?
Peter Mortensen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.