.NET Core проти ASP.NET Core


171

У чому саме різниця між .NET Core та ASP.NET Core?

Вони взаємовиключні? Я чув, що ASP.NET Core побудований на .NET Core, але він також може бути побудований на повному рівні .NET.

Отже, що саме є ASP.NET Core?


Відповіді:


209

Оновлення 2020 : Зауважте, що ASP.NET Core 3 і новіші версії тепер залежать від .NET Core і більше не можуть використовуватися в .NET Framework. Нижченаведений опис стосується ASP.NET Core 1.x-2.x; розділення шарів все ще справедливо для ASP.NET Core 3.0, але шар ASP.NET Core більше не може використовуватися поверх .NET Framework в версії 3.0+.

.NET Core - це час виконання. Він може виконувати програми, створені для цього.

ASP.NET Core - це сукупність бібліотек, що утворюють рамки для створення веб-додатків. Бібліотеки ASP.NET Core можна використовувати як у .NET Core, так і в "Full .NET Framework" (що постачається з Windows протягом багатьох років).

Заплутаною частиною є те, що додаток, що використовує бібліотеки та інструменти ASP.NET Core, зазвичай називають "ASP.NET Core Application", який теоретично не говорить про те, чи він створений для .NET Core або .NET Framework. Отже, "ASP.NET Core Application" також є ".NET Core Application" або ".NET Framework Application".

Це зображення показує співвідношення залучених технологій (взяті з цієї публікації в блозі ) .NET Технології веб-додатків

Тут ви бачите, що ASP.NET Core побудований "на вершині" як .NET Framework, так і .NET Core, тоді як "ASP.NET" (зараз його часто називають "класичним ASP.NET") є тільки .NET Framework.


22
То що ми називаємо класичним ASP? "Стародавній ASP"? : p
Дан Шнау

1
тож якщо програма розробляється з використанням, ASP.NET Core то на веб-сервері нам потрібно встановити .NET Core Runtimeі ASP.NET Core runtimeчи просто ASP.NET Core runtimeцього достатньо
LP13

Залежно від версії, 2.1 розділить її трохи, але поки ви встановите "хостинг-пакети" на сервери, вам слід добре. Якщо ви розробляєте для ASP.NET Core на .NET Framework, вам все ще потрібен пакет хостингу для необхідного модуля IIS
Martin Ullrich

3
@DanSchnau, у нас є "Класичний ASP", "ASP.NET" AKA, "Класичний ASP.NET" та "ASP.NET Core", так що конфлікту взагалі немає :)
Gouda

@ LP13: Немає "ASP.NET Core Runtime", це лише купа пакетів, які не можуть запускатися самостійно (без .NET Core попередньо встановлено або поставляється як автономне додаток)
Tseng

43

ASP.NET Core з використанням .NET Core - всі залежності є автономними, можуть використовувати більшість пакетів NuGet, не можуть використовувати специфічні для Windows пакети, можуть виконуватись у Windows, Linux та Mac.

ASP.NET Core з використанням .NET Framework - більшість залежностей є автономними, виконуються лише в Windows, матимуть доступ до специфічних для Windows пакетів NuGet, потрібна версія .NET Framework, орієнтована на встановлену машину.


8
Хто називає ці речі? Це супер заплутано.
Нік

1
@Nick: Маркетинг Microsoft. Вони мають давню історію цього. Вони ще не відкрили в Інтернеті - використання загальних іменників для продуктів (непогано в світі пошукових систем, де краще конкретніші менш поширені слова, бажано унікальні слова, які не є в словнику).
Пітер Мортенсен

23

ASP.NET Core - одне з навантажень, підтримуваних .NET Core.

З посібника .NET Core :

Сама по собі .NET Core включає єдину модель додатків - консольні додатки, яка корисна для інструментів, місцевих служб та текстових ігор. Додаткові моделі додатків були побудовані поверх .NET Core для розширення його функціональності, таких як:

  • ASP.NET Core
  • Універсальна платформа Windows 10 (UWP)
  • Xamarin.Forms

Це для мене більш відповідна відповідь. .Net Core для консольного додатка, ASP.Net Core для веб-додатків.
Шон Чжан

5

.NET Framework знаходиться в останньому випуску. Іншого після 4.8 не буде. Microsoft продовжить роботу з .NET Core. З цього часу вам слід віддати перевагу .NET Core у своїх проектах.


2

На додаток, я хотів би додати, що може комусь допомогти.

У трубопроводі запиту .NET Core є щось, що називається введенням програмного забезпечення. Якщо правильно реалізовано, це дуже корисно, оскільки воно може перехоплювати винятки програм автоматично та значно полегшує ведення журналу в одному місці замість того, щоб реєструвати всі методи.


Чи можете ви додати одну чи кілька посилань / посилань на свою відповідь?
Пітер Мортенсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.