.NET Core ve ASP.NET Core Karşılaştırması


Yanıtlar:


209

Güncelleştirme 2020 : ASP.NET Core 3 ve sonraki sürümlerin artık .NET Core'a bağlı olduğunu ve artık .NET Framework'te kullanılamayacağını unutmayın. Aşağıdaki açıklama ASP.NET Core 1.x-2.x içindir; katman ayırma ASP.NET Core 3.0 için hala geçerlidir, ancak ASP.NET Core katmanı, 3.0+ sürümünde .NET Framework'ün üstünde kullanılamaz.

.NET Core bir çalışma zamanı. Bunun için oluşturulan uygulamaları yürütebilir.

ASP.NET Core, web uygulamaları oluşturmak için bir Çerçeve oluşturan kitaplıkların bir koleksiyonudur. ASP.NET Core kütüphaneleri hem .NET Core hem de "Full .NET Framework" (uzun yıllar pencerelerle birlikte gönderilir) üzerinde kullanılabilir.

Kafa karıştırıcı kısım, ASP.NET Core kütüphanelerini ve araçlarını kullanan bir uygulamaya genellikle "ASP.NET Core Uygulaması" olarak atıfta bulunulmasıdır; bu, teorik olarak .NET Core veya .NET Framework için oluşturulmuş olup olmadığını söylemez. Yani "ASP.NET Core Uygulaması" da ".NET Core Uygulaması" veya ".NET Framework Uygulaması" dır .

Bu görüntü dosyası (alınan alakalı teknolojinin ilişkisi bu blog yayınında ) .NET Web Uygulama Teknolojileri

Burada ASP.NET Core'un hem .NET Framework hem de .NET Core'un üzerine "inşa edildiğini," ASP.NET "ise (genellikle" klasik ASP.NET "olarak adlandırılır) yalnızca .NET Framework olduğunu görebilirsiniz.


22
Peki klasik ASP diyoruz? "Eski ASP"? : p
Dan Schnau

1
böylece uygulama ASP.NET Core o zaman web sunucusunda kullanılarak geliştirilen yüklemek gerekir .NET Core Runtimeve ASP.NET Core runtimeya da sadece ASP.NET Core runtimeyeterlidir
LP13

Sürüme bağlı olarak, 2.1 biraz ayırır, ancak sunuculara "hosting paketleri" yüklediğiniz sürece, iyi olmalısınız. .NET Framework'te ASP.NET Core için geliştiriyorsanız, hala gerekli IIS modülü için barındırma paketine ihtiyacınız vardır
Martin Ullrich

3
@DanSchnau, "Klasik ASP", "ASP.NET" AKA "Klasik ASP.NET" ve "ASP.NET Core" var, bu yüzden hiç çatışma yok :)
Gouda

@ LP13: "ASP.NET Core Runtime" yoktur, yalnızca kendi kendine çalışamayan bir paket pakettir (önceden yüklenmiş veya bağımsız uygulama olarak sevk edilen .NET Core olmadan)
Tseng

43

.NET Core kullanan ASP.NET Core - tüm bağımlılıklar bağımsızdır, çoğu NuGet paketini kullanabilir, Windows'a özgü paketleri kullanamaz, Windows, Linux ve Mac üzerinde çalışabilir.

.NET Framework kullanan ASP.NET Core - çoğu bağımlılık bağımsızdır, yalnızca Windows üzerinde yürütülür, Windows'a özgü NuGet paketlerine erişebilir, makinede hedeflenen .NET framework sürümüne ihtiyaç duyar.


9
Bunları kim adlandırıyor? Bu çok kafa karıştırıcı.
Nick

1
@Nick: Microsoft pazarlama. Bunun uzun bir geçmişi var. Web'i henüz keşfetmediler - ürünler için ortak isimler kullanarak (daha az yaygın kelimelerin daha iyi olduğu, tercihen sözlükte olmayan benzersiz kelimelerin daha iyi olduğu bir arama motoru dünyasında iyi değil).
Peter Mortensen

23

ASP.NET Core, .NET Core tarafından desteklenen iş yüklerinden biridir.

Gönderen NET Çekirdek rehberi :

Tek başına .NET Core, araçlar, yerel hizmetler ve metin tabanlı oyunlar için yararlı olan tek bir uygulama modeli - konsol uygulamaları - içerir. Aşağıdaki gibi işlevlerini genişletmek için .NET Core'un üzerine ek uygulama modelleri oluşturulmuştur:

  • ASP.NET Çekirdeği
  • Windows 10 Evrensel Windows Platformu (UWP)
  • Xamarin.Forms

Bu benim için daha alakalı bir cevap. Konsol uygulaması için .Net Core, web uygulaması için ASP.Net Core.
Shawn Zhang

5

.NET Framework son sürümünde. 4.8'den sonra başka bir tane olmayacak. Microsoft, .NET Core ile devam edecektir. Bundan sonra projelerinizde .NET Core'u tercih etmelisiniz.


2

Bunun üzerine, birisine yardımcı olabilecekleri eklemek isterim.

.NET Core istek kanalında ara katman yazılımı enjeksiyonu denen bir şey var. Doğru uygulandığında, uygulama istisnalarını otomatik olarak kesebileceği ve her yöntemde oturum açmak yerine tek bir yerde günlüğe kaydetmeyi çok daha kolay hale getirebileceği için bu çok yararlıdır.


Cevabınıza bir veya daha fazla referans / bağlantı ekleyebilir misiniz?
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.