.NET Standard, .Net Core, PCL

Ich bin total verwirrt von all dem Gerede über .Net Standard. In gewisser Hinsicht klingt die Idee einer Standard-.NET-Bibliothek großartig. Mir ist aufgefallen, dass Sie in der NuGet-Galerie für viele Plattformen (z. B. Silverlight) .NET Standard auswählen können. Aber das verwirrt mich zum Teufel. Ist .NET Standard eine Bibliothek? Oder ein DLL-Format?

Anyway, es gibt jetzt .NET Core-Projekte sowie die alten PCL-Projekte, aber ich sehe keine Visual Studio-Vorlagen für .NET Standard. Obwohl ich festgestellt habe, dass Sie eine vorhandene PCL-Bibliothek auf .NET Standard umstellen können, wenn Sie die Einstellungen für das Projekt aufrufen.

Anyway, die grundlegende Frage, die ich stelle, ist, welche Art von Bibliothek wir ansprechen sollen? Ich mache das hauptsächlich für Xamarin-Projekte, aber es wäre großartig, wenn wir diese Bibliotheken mit anderen Plattformen, insbesondere .NET Core und UWP, teilen könnten.

Aber ich bin wirklich verwirrt, warum Microsoft zwei scheinbar identische Bibliothekstypen gleichzeitig herausgebracht hat: .NET Core und .NET Standard.

EDIT: Ich bin jetzt viel weniger verwirrt. Ich habe den ursprünglichen Beitrag bearbeitet, weil ich meine Frage noch nicht vollständig beantwortet habe. Das ist meiner Meinung nach der Schlüssel zum Verständnis dieser Dinge. Ich bin offen für Korrekturen hier.

Definitionen

NET Core - Eine .NET-basierte Laufzeitumgebung, die der .NET-Standard-API-Definition entspricht.

PCL - Ein .NET-basiertes Bibliotheksformat, das von verschiedenen Laufzeitumgebungen unterstützt wird, darunter .NET, Mono, Windows Phone usw.

.NET Standard (Definition 1) - Eine Reihe von Standard-API-Definitionen für .NET-basierte Laufzeitumgebungen

.NET Standard (Definition 2) - Ein auf .NET basierendes Bibliotheksformat, das von mehreren Laufzeitumgebungen unterstützt wird, darunter .NET, Mono, Windows Phone usw., und das eine Fortsetzung des PCL-Formats darstellt. In Visual Studio kann eine PCL-Bibliothek in eine .NET Standard-Bibliothek konvertiert werden, indem Sie die Eigenschaften des Projekts aufrufen und das Zielframework bearbeiten.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage