Novinky v rozhraní .NET Standard
.NET Standard je formální specifikace, která definuje sadu verzí rozhraní API, která musí být k dispozici v implementacích .NET, které vyhovují této verzi standardu. .NET Standard se zaměřuje na vývojáře knihoven. Knihovnu, která cílí na verzi .NET Standard, je možné použít v jakékoli implementaci .NET nebo Xamarin, která tuto verzi standardu podporuje.
Sada .NET Standard je součástí sady .NET SDK. Pokud vyberete úlohu .NET, je součástí sady Visual Studio.
.NET Standard 2.1 je poslední verze .NET Standard, která bude vydána. Další informace najdete v tématech .NET 5+ a .NET Standard.
Podporovaná implementace .NET
.NET Standard 2.1 je podporována následujícími implementacemi .NET:
- .NET Core 3.0 nebo novější (včetně .NET 5 a novějších)
- Mono 6.4 nebo novější
- Xamarin.iOS 12.16 nebo novější
- Xamarin.Android 10.0 nebo novější
Následující implementace .NET Standard 2.0 podporují:
- .NET Core 2.0 nebo novější (včetně .NET 5 a novějších)
- .NET Framework 4.6.1 nebo novější
- Mono 5.4 nebo novější
- Xamarin.iOS 10.14 nebo novější
- Xamarin.Mac 3.8 nebo novější
- Xamarin.Android 8.0 nebo novější
- Univerzální platforma Windows 10.0.16299 nebo novější
Novinky v .NET Standard 2.1
.NET Standard 2.1 přidává do standardu mnoho rozhraní API. Některá z nich jsou nová rozhraní API a další jsou existující rozhraní API, která pomáhají ještě více konvergovat implementace .NET. Seznam rozhraní API, která byla přidána do rozhraní .NET Standard 2.1, najdete v tématu .NET Standard 2.1 vs. 2.0.
Další informace najdete v blogovém příspěvku o oznámení .NET Standard 2.1 .
Novinky v .NET Standard 2.0
.NET Standard 2.0 obsahuje následující nové funkce.
Výrazně rozšířená sada rozhraní API
Prostřednictvím verze 1.6 zahrnoval .NET Standard poměrně malou podmnožinu rozhraní API. Mezi vyloučenými byla řada rozhraní API, která se běžně používala v rozhraní .NET Framework nebo Xamarinu. To komplikuje vývoj, protože vyžaduje, aby vývojáři při vývoji aplikací a knihoven, které cílí na více implementací .NET, našli vhodné náhrady pro známá rozhraní API. .NET Standard 2.0 toto omezení řeší přidáním více než 20 000 rozhraní API, než bylo k dispozici v .NET Standard 1.6, předchozí verzi standardu. Seznam rozhraní API, která byla přidána do rozhraní .NET Standard 2.0, najdete v tématu .NET Standard 2.0 vs. 1.6.
Mezi doplňky oboru System názvů v .NET Standard 2.0 patří:
- Podpora pro AppDomain třídu.
- Lepší podpora pro práci s poli z dalších členů třídy Array .
- Lepší podpora pro práci s atributy z dalších členů třídy Attribute .
- Lepší podpora kalendáře a další možnosti formátování pro DateTime hodnoty
- Další Decimal funkce zaokrouhlování
- Další funkce ve Environment třídě.
- Vylepšená kontrola nad uvolňováním paměti prostřednictvím GC třídy.
- Vylepšená podpora porovnání řetězců, výčtu a normalizace ve String třídě.
- Podpora úprav a přechodových časů letního času ve třídách a TimeZoneInfo.TransitionTime úpravách letního TimeZoneInfo.AdjustmentRule času.
- Výrazně vylepšené funkce ve Type třídě.
- Lepší podpora deserializace objektů výjimky přidáním konstruktoru výjimky s SerializationInfo parametry.StreamingContext
Podpora knihoven rozhraní .NET Framework
Mnoho knihoven cílí na .NET Framework, nikoli na .NET Standard. Většina volání v těchto knihovnách však slouží k rozhraním API, která jsou součástí .NET Standard 2.0. Od verze .NET Standard 2.0 můžete přistupovat k knihovnám rozhraní .NET Framework z knihovny .NET Standard pomocí přešikování kompatibility. Tato vrstva kompatibility je pro vývojáře transparentní; Nemusíte nic dělat, abyste využili výhod knihoven rozhraní .NET Framework.
Jediným požadavkem je, aby rozhraní API volaná knihovnou tříd rozhraní .NET Framework byla zahrnuta do .NET Standard 2.0.
Podpora jazyka Visual Basic
Nyní můžete vyvíjet knihovny .NET Standard v jazyce Visual Basic. Visual Studio 2019 a Visual Studio 2017 verze 15.3 nebo novější s nainstalovanou úlohou .NET Core obsahují šablonu knihovny tříd .NET Standard. Pro vývojáře jazyka Visual Basic, kteří používají další vývojové nástroje a prostředí, můžete pomocí nového příkazu dotnet vytvořit projekt knihovny .NET Standard. Další informace najdete v podpoře nástrojů pro knihovny .NET Standard.
Podpora nástrojů pro knihovny .NET Standard
Ve verzi .NET Core 2.0 a .NET Standard 2.0 zahrnují visual Studio 2017 i rozhraní .NET CLI podporu nástrojů pro vytváření knihoven .NET Standard.
Pokud nainstalujete Sadu Visual Studio s úlohou vývoje pro různé platformy .NET Core, můžete vytvořit projekt knihovny .NET Standard 2.0 pomocí šablony projektu, jak ukazuje následující obrázek:
Pokud používáte .NET CLI, následující příkaz dotnet new vytvoří projekt knihovny tříd, který cílí na .NET Standard 2.0:
dotnet new classlib