Delen via


Wat is er nieuw in .NET Standard?

.NET Standard is een formele specificatie die een versieverzameling API's definieert die beschikbaar moeten zijn voor .NET-implementaties die voldoen aan die versie van de standaard. .NET Standard is gericht op bibliotheekontwikkelaars. Een bibliotheek die is gericht op een .NET Standard-versie, kan worden gebruikt voor elke .NET- of Xamarin-implementatie die ondersteuning biedt voor die versie van de standaard.

.NET Standard is opgenomen in de .NET SDK. Het is ook opgenomen in Visual Studio als u de .NET-workload selecteert.

.NET Standard 2.1 is de laatste versie van .NET Standard die wordt uitgebracht. Zie .NET 5+ en .NET Standard voor meer informatie.

Ondersteunde .NET-implementaties

.NET Standard 2.1 wordt ondersteund door de volgende .NET-implementaties:

  • .NET Core 3.0 of hoger (inclusief .NET 5 en hoger)
  • Mono 6.4 of hoger
  • Xamarin.iOS 12.16 of hoger
  • Xamarin.Android 10.0 of hoger

.NET Standard 2.0 wordt ondersteund door de volgende .NET-implementaties:

  • .NET Core 2.0 of hoger (inclusief .NET 5 en hoger)
  • .NET Framework 4.6.1 of hoger
  • Mono 5.4 of hoger
  • Xamarin.iOS 10.14 of hoger
  • Xamarin.Mac 3.8 of hoger
  • Xamarin.Android 8.0 of hoger
  • Universeel Windows-platform 10.0.16299 of hoger

Nieuw in .NET Standard 2.1

.NET Standard 2.1 voegt veel API's toe aan de standaard. Sommige daarvan zijn nieuwe API's en andere zijn bestaande API's die helpen om de .NET-implementaties nog verder te convergeren. Zie .NET Standard 2.1 versus 2.0 voor een lijst met api's die zijn toegevoegd aan .NET Standard 2.1 versus 2.0.

Zie de blogpost Announcing .NET Standard 2.1 voor meer informatie.

Wat is er nieuw in .NET Standard 2.0?

.NET Standard 2.0 bevat de volgende nieuwe functies.

Een enorm uitgebreide set API's

Via versie 1.6 bevatte .NET Standard een relatief kleine subset van API's. Onder die uitgesloten waren veel API's die vaak werden gebruikt in .NET Framework of Xamarin. Dit maakt de ontwikkeling ingewikkeld, omdat ontwikkelaars geschikte vervangingen vinden voor bekende API's wanneer ze toepassingen en bibliotheken ontwikkelen die gericht zijn op meerdere .NET-implementaties. .NET Standard 2.0 heeft betrekking op deze beperking door meer dan 20.000 API's toe te voegen dan beschikbaar waren in .NET Standard 1.6, de vorige versie van de standaard. Zie .NET Standard 2.0 versus 1.6 voor een lijst met api's die zijn toegevoegd aan .NET Standard 2.0 en 1.6.

Enkele van de toevoegingen aan de System naamruimte in .NET Standard 2.0 zijn:

  • Ondersteuning voor de AppDomain klas.
  • Betere ondersteuning voor het werken met matrices van extra leden in de Array klas.
  • Betere ondersteuning voor het werken met kenmerken van extra leden in de Attribute klasse.
  • Betere ondersteuning voor agenda's en extra opmaakopties voor DateTime waarden.
  • Aanvullende Decimal afrondingsfunctionaliteit.
  • Aanvullende functionaliteit in de Environment klasse.
  • Verbeterde controle over de garbagecollector via de GC klasse.
  • Verbeterde ondersteuning voor tekenreeksvergelijking, opsomming en normalisatie in de String klasse.
  • Ondersteuning voor zomertijdaanpassingen en overgangstijden in de TimeZoneInfo.AdjustmentRule en TimeZoneInfo.TransitionTime klassen.
  • Aanzienlijk verbeterde functionaliteit in de Type klasse.
  • Betere ondersteuning voor deserialisatie van uitzonderingsobjecten door een uitzonderingsconstructor met SerializationInfo en StreamingContext parameters toe te voegen.

Ondersteuning voor .NET Framework-bibliotheken

Veel bibliotheken zijn gericht op .NET Framework in plaats van .NET Standard. De meeste aanroepen in deze bibliotheken zijn echter api's die zijn opgenomen in .NET Standard 2.0. Vanaf .NET Standard 2.0 hebt u toegang tot .NET Framework-bibliotheken vanuit een .NET Standard-bibliotheek met behulp van een compatibiliteitss-shim. Deze compatibiliteitslaag is transparant voor ontwikkelaars; U hoeft niets te doen om te profiteren van .NET Framework-bibliotheken.

De enige vereiste is dat de API's die door de .NET Framework-klassebibliotheek worden aangeroepen, moeten worden opgenomen in .NET Standard 2.0.

Ondersteuning voor Visual Basic

U kunt nu .NET Standard-bibliotheken ontwikkelen in Visual Basic. Visual Studio 2019 en Visual Studio 2017 versie 15.3 of hoger waarop de .NET Core-workload is geïnstalleerd, bevatten een .NET Standard Class Library-sjabloon. Voor Visual Basic-ontwikkelaars die andere ontwikkelhulpprogramma's en omgevingen gebruiken, kunt u de nieuwe dotnet-opdracht gebruiken om een .NET Standard Library-project te maken. Zie de ondersteuning voor hulpprogramma's voor .NET Standard-bibliotheken voor meer informatie.

Ondersteuning voor hulpprogramma's voor .NET Standard-bibliotheken

Met de release van .NET Core 2.0 en .NET Standard 2.0 bevatten visual Studio 2017 en . NET CLI hulpprogramma's voor het maken van .NET Standard-bibliotheken.

Als u Visual Studio installeert met de platformoverschrijdende ontwikkelworkload van .NET Core, kunt u een .NET Standard 2.0-bibliotheekproject maken met behulp van een projectsjabloon, zoals in de volgende afbeelding wordt weergegeven:

Add New .NET Standard library project

Als u de .NET CLI gebruikt, maakt de volgende nieuwe dotnet-opdracht een klassebibliotheekproject dat is gericht op .NET Standard 2.0:

dotnet new classlib

Zie ook