TLDR: Wenn es Kern ist, ist es eine Teilmenge der Funktionalität so kann es Cross-Plattform ran. Alles, was Sie auf Core ausführen können, kann auf dem vollständigen Framework 4.6 für Windows ausgeführt werden.
.NET Framework v4.6 - Das vollständige Framework, das nur unter Windows ausgeführt werden kann. Da dies jedoch das vollständige Framework ist, bedeutet das, dass Sie WCF, WPF und alle Funktionen erhalten. Sie können sich das als Ihre normale .NET-Windows-Entwicklung vorstellen, die Sie wahrscheinlich heute tun. Es enthält ASP.NET WebForms, MVC, Core und SignalR. Wenn Sie heute .NET 4.5 verwenden, ist dies der nächste natürliche Upgrade-Pfad.
.NET Core - Ein Subset-Framework, das nicht alles im vollständigen 4.6 Framework beinhaltet. Es ist jedoch vorgesehen, unter Windows, Mac oder Linux plattformübergreifend zu laufen. Sie verlieren jedoch einige Funktionen wie WCF, WPF. Aber Sie haben immer noch ASP.NET Core (keine WebForms), aber noch nicht SignalR. Die SignalR-Unterstützung soll in einer späteren Version erscheinen.Dies verwendet die dotnet CLI (Befehlszeilenschnittstelle) zum Kompilieren von Anwendungen. Wenn Sie unter Windows arbeiten, können Sie Visual Studio verwenden.
.NET Native - Native Kompilierung des .NET Core-Frameworks. Anstatt das normale JIT-Kompilieren zur Laufzeit Ihrer EXE durchzuführen, wird dies eine AOT compilation machen, die möglicherweise einige bessere Optimierungen Ihres Codes using the C++ backend compiler (oder LLVM mit LLILC) vornehmen kann. Wenn Sie dies tun, richten Sie eine bestimmte Plattform aus, z. B. "Linux 64-Bit". Die Vorteile sind schnellere Startzeiten, potenziell geringere Speicheranforderungen, hoffentlich bessere Laufzeitleistung und die Ausgabe von nur einer einzigen Binärdatei (Sie müssen das .NET Framework nicht auf dem Zielcomputer installieren). Der Kompromiss ist jedoch Portabilität zu anderen Plattformen - Sie haben separate Binaries für Linux, MacOS, Windows, 32-Bit, 64-Bit, etc. Dies funktioniert derzeit nur für Windows Store-Apps, aber mehr Arbeit wird getan, so dass es ' Ich arbeite mit normalen .NET-Apps, einschließlich ASP.NET-Apps. Derzeit nicht geplant, Teil der .NET Core 1.0-Version zu sein.
ASP.NET Core - Die neue Art der Web-Entwicklung auf .NET Core oder Full Framework. Es enthält eine anpassbare HTTP-Pipeline, Kestrel-Webserver und better performance-Profile als die vorherige ASP.NET 4.x-Version. Dies ist plattformübergreifend kompatibel sowohl für das gesamte Framework als auch für das Core-Framework. Es enthält keine WebForms oder SignalR-Unterstützung (yet). Es ist nicht abwärtskompatibel mit ASP.NET 4, obwohl wenn Sie MVC/WebAPI jetzt verwenden, sollte MVC/WebAPI vorwärts gehen ziemlich nah sein, da es nur eine Controller
Klasse geben wird. Wenn Sie WebForms verwenden möchten, haben Sie keine andere Wahl, als sich an das vollständige 4.6 Framework zu halten.
Entity Framework Core - Das neue Framework für die ORM-Entwicklung. Einst als EF7 bezeichnet, ist es das plattformübergreifende ORM-Framework, das sowohl für den vollständigen 4.6-Stack als auch für den neuen Core-Stack geeignet ist. Es ist nicht abwärtskompatibel mit EF6. Es unterstützt nur ein Code-First-Modell. Zukünftig kann es Werkzeuge geben, die dabei helfen, vorhandene EF6-EDMX-Dateien zu aktualisieren, um die Klassen für Code-First-EFCore-Implementierung zu generieren.
Dies wird eine interessante Lektüre für Sie sein: http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx –
https: //blogs.msdn. microsoft.com/dotnet/2014/12/04/introducing-net-core/ –