Was genau ist der Unterschied zwischen .NET Core und ASP.NET Core?
Schließen sie sich gegenseitig aus? Ich habe gehört, dass ASP.NET Core auf .NET Core basiert, aber es kann auch auf dem vollständigen .NET Framework erstellt werden.
Was genau ist ASP.NET Core?
asp.net-core
.net-core
blubberbo
quelle
quelle
Antworten:
Update 2020 : Beachten Sie, dass ASP.NET Core 3 und höher jetzt von .NET Core abhängt und nicht mehr unter .NET Framework verwendet werden kann. Die folgende Beschreibung bezieht sich auf ASP.NET Core 1.x-2.x. Die Ebenentrennung gilt weiterhin für ASP.NET Core 3.0, aber die ASP.NET Core-Schicht kann in Version 3.0+ nicht mehr über .NET Framework verwendet werden.
.NET Core ist eine Laufzeit. Es kann Anwendungen ausführen, die dafür erstellt wurden.
ASP.NET Core ist eine Sammlung von Bibliotheken, die ein Framework zum Erstellen von Webanwendungen bilden. ASP.NET Core-Bibliotheken können sowohl auf .NET Core als auch auf dem "Full .NET Framework" (das seit vielen Jahren mit Windows ausgeliefert wird) verwendet werden.
Der verwirrende Teil ist, dass eine Anwendung, die die Bibliotheken und Tools von ASP.NET Core verwendet, normalerweise als "ASP.NET Core-Anwendung" bezeichnet wird, was theoretisch nicht sagt, ob sie für .NET Core oder .NET Framework erstellt wurde. So eine „ASP.NET Core - Anwendung“ ist auch eine ".NET Core-Anwendung" oder eine ".NET Framework-Anwendung".
Dieses Bild zeigt die Beziehung der beteiligten Technologien (aus diesem Blog-Beitrag )
Hier können Sie sehen, dass ASP.NET Core sowohl auf .NET Framework als auch auf .NET Core aufgebaut ist, während "ASP.NET" (jetzt häufig als "klassisches ASP.NET" bezeichnet) nur .NET Framework ist.
quelle
ASP.NET Core
.NET Core Runtime
ASP.NET Core runtime
ASP.NET Core runtime
ASP.NET Core mit .NET Core - Alle Abhängigkeiten sind in sich geschlossen, können die meisten NuGet-Pakete verwenden, können keine Windows-spezifischen Pakete verwenden, können unter Windows, Linux und Mac ausgeführt werden.
ASP.NET Core mit .NET Framework - Die meisten Abhängigkeiten sind in sich geschlossen, werden nur unter Windows ausgeführt, haben Zugriff auf Windows-spezifische NuGet-Pakete und benötigen die auf dem Computer installierte .NET Framework-Version.
quelle
ASP.NET Core ist eine der von .NET Core unterstützten Workloads.
Aus dem .NET Core-Handbuch :
quelle
Das .NET Framework befindet sich in der letzten Version. Nach 4.8 wird es keinen weiteren geben. Microsoft wird mit .NET Core fortfahren. Ab diesem Zeitpunkt sollten Sie .NET Core für Ihre Projekte bevorzugen.
quelle
Darüber hinaus möchte ich hinzufügen, dass dies jemandem helfen könnte.
In der .NET Core-Anforderungspipeline gibt es eine sogenannte Middleware-Injektion. Bei korrekter Implementierung ist dies sehr nützlich, da Anwendungsausnahmen automatisch abgefangen werden können und die Protokollierung an einem Ort viel einfacher ist, anstatt sich bei allen Methoden anzumelden.
quelle