Jaka jest dokładnie różnica między platformą .NET Core i ASP.NET Core?
Czy wykluczają się wzajemnie? Słyszałem, że ASP.NET Core jest oparty na .NET Core, ale można go również zbudować na pełnym frameworku .NET.
Czym właściwie jest ASP.NET Core?
Jaka jest dokładnie różnica między platformą .NET Core i ASP.NET Core?
Czy wykluczają się wzajemnie? Słyszałem, że ASP.NET Core jest oparty na .NET Core, ale można go również zbudować na pełnym frameworku .NET.
Czym właściwie jest ASP.NET Core?
Odpowiedzi:
Aktualizacja 2020 : Zwróć uwagę, że ASP.NET Core 3 i nowsze zależą teraz od platformy .NET Core i nie można ich już używać na platformie .NET Framework. Poniższy opis dotyczy ASP.NET Core 1.x-2.x; separacja warstw nadal obowiązuje w przypadku ASP.NET Core 3.0, ale warstwy ASP.NET Core nie można już używać na platformie .NET Framework w wersji 3.0+.
.NET Core to środowisko uruchomieniowe. Może uruchamiać aplikacje, które są dla niego zbudowane.
ASP.NET Core to zbiór bibliotek, które tworzą platformę do tworzenia aplikacji internetowych. Biblioteki ASP.NET Core mogą być używane zarówno na platformie .NET Core, jak i na „pełnej platformie .NET Framework” (która jest dostarczana z systemem Windows od wielu lat).
Mylące jest to, że aplikacja korzystająca z bibliotek i narzędzi ASP.NET Core jest zwykle nazywana „aplikacją ASP.NET Core”, co teoretycznie nie mówi, czy jest ona stworzona dla platformy .NET Core czy .NET Framework. Zatem „Aplikacja ASP.NET Core” to także „Aplikacja .NET Core” lub „Aplikacja .NET Framework”.
Ten obraz przedstawia związek między zaangażowanymi technologiami (zaczerpnięty z tego wpisu na blogu )
W tym miejscu widać, że ASP.NET Core jest zbudowany „na wierzchu” zarówno .NET Framework, jak i .NET Core, podczas gdy „ASP.NET” (obecnie często określany jako „klasyczny ASP.NET”) to tylko .NET Framework.
ASP.NET Core
.NET Core Runtime
ASP.NET Core runtime
ASP.NET Core runtime
ASP.NET Core przy użyciu platformy .NET Core - wszystkie zależności są niezależne, mogą używać większości pakietów NuGet, nie mogą używać pakietów specyficznych dla systemu Windows, mogą być wykonywane w systemach Windows, Linux i Mac.
ASP.NET Core przy użyciu .NET Framework - większość zależności jest niezależna, wykonywana tylko w systemie Windows, będzie mieć dostęp do pakietów NuGet specyficznych dla systemu Windows, wymaga wersji platformy .NET, która jest docelowo zainstalowana na komputerze.
ASP.NET Core to jedno z obciążeń obsługiwanych przez platformę .NET Core.
Sama platforma .NET Core obejmuje pojedynczy model aplikacji - aplikacje konsolowe - co jest przydatne w przypadku narzędzi, usług lokalnych i gier tekstowych. Dodatkowe modele aplikacji zostały zbudowane na bazie platformy .NET Core w celu rozszerzenia jego funkcjonalności, takich jak:
- ASP.NET Core
- Windows 10 Universal Windows Platform (UWP)
- Xamarin.Forms
NET Framework jest ostatnią wersją. Po 4.8 nie będzie kolejnego. Firma Microsoft będzie kontynuować korzystanie z platformy .NET Core. Od tego czasu powinieneś preferować .NET Core w swoich projektach.
Oprócz tego chciałbym dodać, że może to komuś pomóc.
W potoku żądań platformy .NET Core istnieje coś, co nazywa się iniekcją oprogramowania pośredniego. Jeśli zostanie poprawnie wdrożony, jest to bardzo przydatne, ponieważ może automatycznie przechwytywać wyjątki aplikacji i znacznie ułatwia rejestrowanie w jednym miejscu zamiast rejestrowania we wszystkich metodach.