.NET Standard
Eintrag zuletzt aktualisiert am: 10.02.2020
.NET Standard (ursprünglich auch "
.NET Platform Standard") ist eine Mitte 2016 eingeführte Spezifikation für eine Funktionsumfang der .NET-Klassenbibliothek, die von verschiedenen .NET-Varianten implementiert werden kann.
.NET Standard 2.0 (verabschiedet am 9.8.2017) wird realisiert von
.NET Standard 2.1 wird realisiert von
Hintergründe
Ursprünglich hatte Microsoft vor, bei .NET Core sehr bewusst deutlich von der Klassenbibliothek des klassischen .NET Frameworks abzuweichen im Zuge einer "Entrümpelung". Microsoft hat sich dann aber Mitte 2016 entschlossen, die
Basisklassenbibliotheken von .NET Framework und .NET Core anzugleichen, um den Austausch von Programmcode und eine Migration zu erleichtern. Die Menge der gemeinsamen Klassen wird durch die Spezifikation ".NET Standard" beschrieben.
WICHTIG
.NET Standard ist kein installierbares Produkt, sondern nur eine Spezifikation. Es gibt in
Visual Studio trotzdem eine Projektvorlage "Class Library (.NET Standard)". Diese erlaubt, eine Klassenbibliothek anzulegen, die deklariert, dass sie nur Klassen aus einer in den Projekteigenschaften einstellbaren Version des .NET Standards verwendet. .NET Standard 2.0 verewigt sich in der Projekdatei .csproj mit dem Tag <TargetFramework>netstandard2.0</TargetFramework>.
Versionen
.NET Core 1.0 und .NET Framework ab Version 4.5 implementieren .NET Standard 1.0 und 1.1.
.NET Core 1.0 und .NET Framework ab Version 4.5.1 implementieren .NET Standard 1.2.
.NET Core 1.0 und .NET Framework ab Version 4.6 implementieren .NET Standard 1.3.
.NET Core 1.0 und .NET Framework ab Version 4.6.1 implementieren .NET Standard 1.4.
.NET Core 1.0 und .NET Framework ab Version 4.6.2 implementieren .NET Standard 1.5 und 1.6.
.NET Core 2.0 und .NET Framework ab Version 4.6.1 implementieren den .NET Standard Version 2.0.
Umfang von .NET Standard
Zum .NET Standard gehören aber wirklich nur Basisklassen wie elementaren Datentypen (Byte, Int16, Int32,
Int64, Boolean, DateTime usw),
Objektmengen,
Language Integrated Query (
LINQ), mathematische Funktionem, Zugriff auf
XML,
Netzwerkfunktionen (
TCP,
HTTP,
SMTP),
Dateisystemzugriffe, Komprimierung, Multi-
Threading (
Threads, Tasks) und
Reflection. Nicht im .NET Standard sind grafische Bibliotheken für Desktop- und Webanwendungen wie
Windows Forms,
Windows Presentation Foundation (
WPF) und
ASP.NET.