Dela via


Nyheter i .NET Standard

.NET Standard är en formell specifikation som definierar en version av API:er som måste vara tillgängliga för .NET-implementeringar som uppfyller den versionen av standarden. .NET Standard riktar sig till biblioteksutvecklare. Ett bibliotek som är avsett för en .NET Standard-version kan användas på alla .NET- eller Xamarin-implementeringar som stöder den versionen av standarden.

.NET Standard ingår i .NET SDK. Det ingår också i Visual Studio om du väljer .NET-arbetsbelastningen.

.NET Standard 2.1 är den senaste versionen av .NET Standard som släpps. Mer information finns i .NET 5+ och .NET Standard.

.NET-implementeringar som stöds

.NET Standard 2.1 stöds av följande .NET-implementeringar:

  • .NET Core 3.0 eller senare (inklusive .NET 5 och senare)
  • Mono 6.4 eller senare
  • Xamarin.iOS 12.16 eller senare
  • Xamarin.Android 10.0 eller senare

.NET Standard 2.0 stöds av följande .NET-implementeringar:

  • .NET Core 2.0 eller senare (inklusive .NET 5 och senare)
  • .NET Framework 4.6.1 eller senare
  • Mono 5.4 eller senare
  • Xamarin.iOS 10.14 eller senare
  • Xamarin.Mac 3.8 eller senare
  • Xamarin.Android 8.0 eller senare
  • Universell Windows-plattform 10.0.16299 eller senare

Nyheter i .NET Standard 2.1

.NET Standard 2.1 lägger till många API:er till standarden. Vissa av dem är nya API:er och andra är befintliga API:er som hjälper till att konvergera .NET-implementeringarna ytterligare. En lista över API:er som har lagts till i .NET Standard 2.1 finns i .NET Standard 2.1 vs 2.0.

Mer information finns i blogginlägget Om att tillkännage .NET Standard 2.1 .

Nyheter i .NET Standard 2.0

.NET Standard 2.0 innehåller följande nya funktioner.

En mycket utökad uppsättning API:er

Till och med version 1.6 innehöll .NET Standard en jämförelsevis liten delmängd AV API:er. Bland de undantagna fanns många API:er som ofta användes i .NET Framework eller Xamarin. Detta komplicerar utvecklingen eftersom det kräver att utvecklare hittar lämpliga ersättningar för välbekanta API:er när de utvecklar program och bibliotek som är inriktade på flera .NET-implementeringar. .NET Standard 2.0 åtgärdar den här begränsningen genom att lägga till över 20 000 fler API:er än vad som var tillgängligt i .NET Standard 1.6, den tidigare versionen av standarden. En lista över API:er som har lagts till i .NET Standard 2.0 finns i .NET Standard 2.0 vs 1.6.

Några av tilläggen System till namnområdet i .NET Standard 2.0 är:

  • Stöd för AppDomain klassen.
  • Bättre stöd för att arbeta med matriser från ytterligare medlemmar i Array klassen.
  • Bättre stöd för att arbeta med attribut från ytterligare medlemmar i Attribute klassen.
  • Bättre kalenderstöd och ytterligare formateringsalternativ för DateTime värden.
  • Ytterligare Decimal avrundningsfunktioner.
  • Ytterligare funktioner i Environment klassen.
  • Förbättrad kontroll över skräpinsamlaren GC genom klassen.
  • Förbättrat stöd för strängjämförelse, uppräkning och normalisering i String klassen.
  • Stöd för sommartidsjusteringar och övergångstider i klasserna TimeZoneInfo.AdjustmentRule och TimeZoneInfo.TransitionTime .
  • Avsevärt förbättrade funktioner i Type klassen.
  • Bättre stöd för deserialisering av undantagsobjekt genom att lägga till en undantagskonstruktor med SerializationInfo och StreamingContext parametrar.

Stöd för .NET Framework-bibliotek

Många bibliotek riktar in sig på .NET Framework i stället för .NET Standard. De flesta anropen i dessa bibliotek är dock till API:er som ingår i .NET Standard 2.0. Från och med .NET Standard 2.0 kan du komma åt .NET Framework-bibliotek från ett .NET Standard-bibliotek med hjälp av en kompatibilitets-shim. Det här kompatibilitetsskiktet är transparent för utvecklare. du behöver inte göra något för att dra nytta av .NET Framework-bibliotek.

Det enda kravet är att API:erna som anropas av .NET Framework-klassbiblioteket måste ingå i .NET Standard 2.0.

Stöd för Visual Basic

Nu kan du utveckla .NET Standard-bibliotek i Visual Basic. Visual Studio 2019 och Visual Studio 2017 version 15.3 eller senare med .NET Core-arbetsbelastningen installerad innehåller en mall för .NET Standard-klassbibliotek. För Visual Basic-utvecklare som använder andra utvecklingsverktyg och miljöer kan du använda det nya dotnet-kommandot för att skapa ett .NET Standard Library-projekt. Mer information finns i Verktygsstöd för .NET Standard-bibliotek.

Stöd för verktyg för .NET Standard-bibliotek

Med lanseringen av .NET Core 2.0 och .NET Standard 2.0 innehåller både Visual Studio 2017 och .NET CLI verktygsstöd för att skapa .NET Standard-bibliotek.

Om du installerar Visual Studio med arbetsbelastningen .NET Core plattformsoberoende utveckling kan du skapa ett .NET Standard 2.0-biblioteksprojekt med hjälp av en projektmall, som följande bild visar:

Add New .NET Standard library project

Om du använder .NET CLI skapar följande nya dotnet-kommando ett klassbiblioteksprojekt som riktar sig till .NET Standard 2.0:

dotnet new classlib

Se även