В чем разница между .NET Core и ASP.NET Core?
Они взаимоисключающие? Я слышал, что ASP.NET Core построен на .NET Core, но он также может быть построен на полной .NET Framework.
Так что же такое ASP.NET Core?
В чем разница между .NET Core и ASP.NET Core?
Они взаимоисключающие? Я слышал, что ASP.NET Core построен на .NET Core, но он также может быть построен на полной .NET Framework.
Так что же такое ASP.NET Core?
Ответы:
Обновление 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 представляет собой набор библиотек, которые образуют Framework для создания веб-приложений. Библиотеки ASP.NET Core можно использовать как в .NET Core, так и в «Full .NET Framework» (которая поставляется с окнами уже много лет).
Смущает то, что приложение, использующее библиотеки и инструменты ASP.NET Core, обычно называют «приложением ASP.NET Core», которое теоретически не говорит, создано ли оно для .NET Core или .NET Framework. Таким образом, «базовое приложение ASP.NET» также является «базовым приложением .NET» или «приложением .NET Framework».
Это изображение показывает отношение участвующих технологий (взято из этого сообщения в блоге )
Здесь вы можете видеть, что ASP.NET Core построен «поверх» как .NET Framework, так и .NET Core, тогда как «ASP.NET» (в настоящее время часто называемый «классический ASP.NET») - это только .NET Framework.
ASP.NET Core
затем на веб - сервере , мы должны установить .NET Core Runtime
и ASP.NET Core runtime
или просто ASP.NET Core runtime
достаточно
ASP.NET Core с использованием .NET Core - все зависимости являются автономными, могут использовать большинство пакетов NuGet, не могут использовать пакеты, специфичные для Windows, могут выполняться в Windows, Linux и Mac.
ASP.NET Core с использованием .NET Framework - большинство зависимостей являются автономными, выполняются только в Windows, будут иметь доступ к пакетам NuGet для Windows, требуется версия платформы .NET, предназначенная для установки на компьютере.
ASP.NET Core является одной из рабочих нагрузок, поддерживаемых .NET Core.
Сам по себе .NET Core включает единую модель приложений - консольные приложения, которая полезна для инструментов, локальных сервисов и текстовых игр. Для расширения его функциональности на основе .NET Core были созданы дополнительные модели приложений, такие как:
- ASP.NET Core
- Windows 10 Универсальная платформа Windows (UWP)
- Xamarin.Forms
.NET Framework находится в своем последнем выпуске. Не будет другого после 4.8. Microsoft продолжит работу с .NET Core. С этого времени вы должны отдавать предпочтение .NET Core в своих проектах.
Кроме того, я хотел бы добавить, что это может помочь кому-то.
В конвейере запросов .NET Core есть то, что называется внедрением промежуточного программного обеспечения. При правильной реализации это очень полезно, поскольку оно может автоматически перехватывать исключения приложений и значительно облегчает ведение журнала в одном месте, а не во всех методах.