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