Soweit ich verstehe, ist.Net Framework das vollständige Framework, das wir kennen und lieben mit allen Windows-Implementierungen und viel Code, den wir normalerweise nicht verwenden, wie sie in einigen erklären Videos ein XML-Parser.
In .NET Core entfernten sie alle unnötigen Implementierungen/Abhängigkeiten und nur die grundlegenden. Das ermöglicht auch plattformübergreifend (noch nicht), so dass man in Zukunft als einziges Framework denken könnte: CORE-Framework und auf jedem Gerät laufen zu lassen. Ihre february community standup geben viele Informationen und Einblicke in ihre Ziele und Ziele.
Ich sehe dies als einen Übergang, wenn einige Funktionen nur auf dem gesamten Framework zur Verfügung stehen, während in den Futures erwartet werden könnte, alle Funktionen für .NET Core zu sehen. Wenn sie Entity Framework für Mobile veröffentlichen möchten (EF7 zielt darauf ab), müssen sie alle Windows-Implementierungen von EF und seinen Abhängigkeiten (Framework) loswerden. So haben sie eine Nicht-Windows-Abhängigkeit vom Framework geschaffen, die auch dem Multiple Framework hilft, einige Probleme mit der Aktualisierung des Frameworks zu installieren und zu beheben, indem sie größtenteils vom System isoliert werden, das in der Anwendung liegt. Neue Probleme werden wie mehrere Kopien des gleichen Frameworks auf einer Maschine pro Anwendung auftreten, deshalb arbeiten sie an etwas namens Smart Sharing.
This post kann Ihnen helfen und Ihnen einen Einblick speziell diesen Teil:
Die Struktur von .NET Kern besteht aus zwei Hauptkomponenten, die zu hinzufügen und die Fähigkeiten des .NET Framework wie folgt erweitern :
- Laufzeit:
auf der gleichen Code-Basis wie die CLR .NET Framework erstellt. Enthält die gleichen GC und JIT (RyuJIT) Enthält keine Funktionen wie Anwendung Domains oder Code Access Security. Die Laufzeit wird auf NuGet geliefert (Microsoft.CoreCLR Paket)
- Basisklassenbibliotheken:
Sind die gleichen Code wie die Klassenbibliotheken .Net Framework, aber nicht enthalten Abhängigkeiten, so haben Sie eine kleinere Stellfläche. Verfügbar auf NuGet (System. * Paket)
und ich denke, Sie bereits Introducing .NET Core von Microsoft lesen.
In Bezug auf Ihre Bedenken bezüglich der Spezifizierung eines bestimmten Frameworks ist, dass jetzt nicht alles auf Core CLR funktioniert, also müssen Sie wählen, welches zu verwenden, oder Sie können beide Ziel und verwenden unterschiedliche Implementierungen.
Ab sofort läuft CORE nur unter Windows; Das mono-Framework hat keinen SQLLite-Provider für das Entity-Framework, aber für Core, sodass Sie beispielsweise einen InMemory- oder Azure EF-Provider verwenden und abhängig von der Umgebung auswählen können, in der Ihre Anwendung ausgeführt wird.
Wie Scott Gu auf dem Community-Standup sagt, stellen sie sich eine Zukunft vor, in der es kein Mono-Framework oder vollständiges Framework gibt, sondern nur Core, aber das wird Zeit brauchen, wenn es jemals passiert.