.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.