wake-up-neo.com

Was ist der Unterschied zwischen ASP.NET 5, .NET Core und ASP.NET Core 5?

Ich bin verwirrt über die Unterscheidung zwischen diesen Begriffen:

  • ASP.NET 5 (jetzt umbenannt in ASP.NET Core und veröffentlicht als 1.0, nicht 5.0)
  • ASP.NET Core 5
  • .NET Core

Kann das jemand kurz erklären?

61
ijaz

ASP.NET 5 (jetzt ASP.NET Core 1.0)

Ist die nächste Generation von ASP.NET, die ein bekanntes und modernes Framework für Web- und Cloud-Szenarien bietet. Es enthält die nächsten Versionen von ASP.NET MVC, Web-API, Webseiten und SignalR. Es ist ein leistungsstarkes und modulares Design, das vollständig nebeneinander unterstützt wird, um eine nahtlose Migration von der Cloud in die Umgebung zu ermöglichen. Diese Produkte werden vom ASP.NET-Team in Zusammenarbeit mit einer Community von Open Source-Entwicklern aktiv entwickelt. Gemeinsam wollen wir die bestmögliche Plattform für die Webentwicklung schaffen.

Update: Es wurde von ASP.NET 5 in ASP.Net Core 1.0 umbenannt.

.NET Core:

.NET Core ist die kleine optimierte Laufzeit, die Basis von ASP.NET Core ist. Es läuft derzeit unter Windows, Linux und Mac. Es ist ein leistungsfähiges und modulares Design, das mehrere Anwendungen auf einem Webserver unterstützt, von denen jede über eine eigene Kopie der .NET Core-Laufzeitumgebung verfügt. Dadurch wird ein komplettes Side-by-Side-Erlebnis ermöglicht. NET Core-Versionen ohne Auswirkungen auf andere Apps. Dies macht die .NET Core-Architektur gegenüber dem aktuellen klassischen .NET 4.6 zu einem Fortschritt. Diese Produkte werden aktiv vom .NET-Team und in Zusammenarbeit mit einer Community von Open Source-Entwicklern entwickelt. Gemeinsam widmen wir uns der Verbesserung und Erweiterung der .NET-Plattform mit neuen Funktionen und für neue Szenarien.

.NET Core besteht aus zwei Hauptkomponenten. Es enthält eine kleine Laufzeit, die aus derselben Codebase wie die .NET Framework-CLR erstellt wird. Die .NET Core-Laufzeitumgebung enthält dasselbe GC und JIT (RyuJIT), enthält jedoch keine Features wie Anwendungsdomänen oder Codezugriffssicherheit. Die Laufzeit wird in NuGet über das Paket Microsoft.CoreCLR bereitgestellt.

.NET Core enthält auch die Basisklassenbibliotheken. Diese Bibliotheken haben im Wesentlichen den gleichen Code wie die .NET Framework-Klassenbibliotheken. Sie wurden jedoch berücksichtigt (Entfernung von Abhängigkeiten), damit wir einen kleineren Satz von Bibliotheken versenden können. Diese Bibliotheken werden als System. * NuGet-Pakete auf NuGet.org ausgeliefert.

Weitere Informationen finden Sie unter Einführung in .NET Core

57
Ramakrishna.p

ASP.NET 5 ist eine neue Plattform, die auf DNX (.NET Execution Environment) basiert. Zum Laden von CLR ist DNX im Einsatz. Es gibt jetzt zwei Arten von DNX: für Full .NET CLR (von .NET Framework) und für CoreCLR. CoreCLR ist eine neue plattformübergreifende Light-CLR (läuft unter Win/Linux/Mac).

ASP.NET 5 arbeitet nahtlos mit CLR/CoreCLR zusammen, da DNX es von der verwendeten Laufzeit abstrahiert.

IL-Assemblys, die für das alte .NET erstellt wurden, können weiterhin mit der neuen CoreCLR und DNX verwendet werden. Die ASP.NET 5-Funktionalität ist also eine Reihe von Nuget-Paketen.

Genau genommen gibt es jetzt keine Dinge wie "asp.net core 5" und ".net core" (als CLR! = .NET). Es gibt "ASP.NET 5 auf CoreCLR".

IMO ist es besser "ASP.NET 5" als ".NET 5" zu betrachten.

10
Shrike

Es gibt noch keinen ASP.net Core 5. Tatsächlich hat Microsoft beschlossen, die .net 5 (Die Version nach 4.6) in einen neuen Namen zu ändern: .net Core 

Die im Juni 2016 veröffentlichte Version ist also .net Core 1.0

Der Grund, warum sie einen neuen Namen gegeben haben, ist die grundlegende Änderung, die sie daran vorgenommen haben. 

Diese grundlegenden Änderungen umfassen:

  • Cross-Plattform: Es funktioniert unter Windows/Linux/Mac, im Gegensatz zu den Vorgängerversionen, die nur unter Windows/IIS funktionieren
  • Es ist jetzt vollständig open source und Sie können jedes Bit seines Codes in GitHub sehen.
  • Sein performance (besonders in ASP.net) ist viel besser als die Vorgängerversionen, da Sie Ihre Anforderungspipeline ganz einfach an Ihre Anforderungen anpassen können (durch Middlewares) ähnlich wie ExpressJs. In einigen Fällen ist die Leistung besser als bei NodeJs. Werfen Sie einen Blick auf diesen Benchmark .
  • Es wurde mit einer modernen Denkweise der App-Entwicklung für hoch verteilte Cloud-Anwendungen, Microservices und Container (Docker) entwickelt.
4
akazemis

ASP.NET Core ist die nächste Version von ASP.NET MVC 5. Ja, die Versionsnummer ist verwirrend! Es hat einige Namensänderungen durchgemacht. Es begann als ASP.NET vNext, wurde dann in ASP.NET 5 geändert, als nächstes in ASP.NET MVC 6 umbenannt und schließlich in ASP.NET Core 1.0 geändert. 

Der Hauptunterschied zwischen ASP.NET und ASP.NET Core ist 

  • Plattformunabhängige Funktionen: ASP.NET Core bietet Hosting in Hosting mit mehreren Plattformen (Win/Linux/Mac OS) (Cross-Plattform).
  • Neue leichtere Version von CLR und Assemblys mit nicht abhängigen Frameworks eingeführt.

  • Frameworks sind ein complete-Umschreiben (Entfernen von Abhängigkeiten mit DI) und sein Open-Source-Projekt.

  • Die Standardprojektvorlage für Projekte wird mit Typenskripts aktualisiert, die in JQuery installiert sind.
  • Verbesserte neue Sicherheitsfunktionen und vollständig Entkopplung für alle abhängigen Frameworks.

  • Projektvorlage mit Winkel- und Json-basierter Konfiguration und Unterstützung für erweiterte Pakete mit Knotenmodulen aktualisiert.

  • Unterstützt Visual Studio IDE (2015 v3 + 2017 und höher) und VS Code IDE.

Wenn Sie neu sind, beziehen Sie sich bitte auf Here

2

Im Linux-Paket apt und Docker gibt es übrigens auch eine Mono-Laufzeit als Alternative zu CoreCLR. Mono ist immer noch die Standardeinstellung, wenn DNX installiert werden soll. Der Kern des "Core" besteht darin, dass es sich um ein plattformübergreifendes .NET-Framework handelt und zu einem bestimmten Zeitpunkt das Hosting einer ASP.NET 5-App nicht von IIS, Apache, Mono usw. Gebrauch macht, sondern von DNX und Libuv.

2
vezenkov

.NET Core 1.0 ist nicht die nächste Version von .NET 4.6.2 (Full .NET Framework). Wenn es sich um die nächste Version handelt, sollte sie mehr Funktionen als die vorherige Version haben. Aber laut Microsoft .NET Core 1.0 verfügt .NET 4.6 nicht über einige der Features. Deshalb nannten sie es .NET Core 1.0 anstelle von .NET 5.

In ASP.NET Core 1.0 verwenden sie .NET Core 1.0 als Referenz. Das bedeutet, dass wir .NET Framework nicht installieren müssen, um unsere ASP.NET Core 1.0-Anwendung auszuführen.

Weitere aktualisierte Informationen finden Sie hier .

1
Chinthaka

ASP.NET Core d. H. 1.0/2.0 ..... ASP.NET Core ist ein plattformübergreifendes Open Source-Framework für die Erstellung moderner, cloudbasierter Web-Apps unter Windows, Mac OS oder Linux.

ASP.NET d. H. 4.5/4.6 ASP.NET ist ein ausgereiftes Framework, das alle Dienste bereitstellt, die zum Erstellen von Server-basierten Web-Apps für Unternehmen unter Windows erforderlich sind.

ASP.NET Core 5 und .NET Core gibt es nicht. ASP.NET 5 ist identisch mit ASP.NET Core 1.0

Bitte beachten Sie den Link: https://docs.Microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.0

0
raga