Co nowego na platformie .NET Standard
.NET Standard to formalna specyfikacja, która definiuje zestaw wersji interfejsów API, które muszą być dostępne w implementacjach platformy .NET, które są zgodne z wersją standardu. Platforma .NET Standard jest przeznaczona dla deweloperów bibliotek. Biblioteka przeznaczona dla wersji .NET Standard może być używana w dowolnej implementacji platformy .NET lub Xamarin, która obsługuje tę wersję standardu.
Platforma .NET Standard jest dołączona do zestawu .NET SDK. Jest on również dołączony do programu Visual Studio, jeśli wybierzesz obciążenie platformy .NET.
.NET Standard 2.1 to ostatnia wersja platformy .NET Standard, która zostanie wydana. Aby uzyskać więcej informacji, zobacz .NET 5+ i .NET Standard.
Obsługiwane implementacje platformy .NET
Program .NET Standard 2.1 jest obsługiwany przez następujące implementacje platformy .NET:
- Program .NET Core 3.0 lub nowszy (w tym .NET 5 lub nowszy)
- Mono 6.4 lub nowszy
- Xamarin.iOS 12.16 lub nowszy
- Xamarin.Android 10.0 lub nowszy
Program .NET Standard 2.0 jest obsługiwany przez następujące implementacje platformy .NET:
- .NET Core 2.0 lub nowszy (w tym .NET 5 lub nowszy)
- .NET Framework 4.6.1 lub nowszy
- Mono 5.4 lub nowszy
- Xamarin.iOS 10.14 lub nowszy
- Xamarin.Mac 3.8 lub nowszy
- Xamarin.Android 8.0 lub nowszy
- platforma uniwersalna systemu Windows 10.0.16299 lub nowszy
Co nowego w programie .NET Standard 2.1
Platforma .NET Standard 2.1 dodaje wiele interfejsów API do standardu. Niektóre z nich to nowe interfejsy API, a inne to istniejące interfejsy API, które pomagają jeszcze bardziej konwersować implementacje platformy .NET. Aby uzyskać listę interfejsów API, które zostały dodane do platformy .NET Standard 2.1, zobacz .NET Standard 2.1 vs 2.0.
Aby uzyskać więcej informacji, zobacz wpis w blogu Ogłaszanie platformy .NET Standard 2.1 .
Co nowego w programie .NET Standard 2.0
Program .NET Standard 2.0 zawiera następujące nowe funkcje.
Znacznie rozszerzony zestaw interfejsów API
W wersji 1.6 platforma .NET Standard zawierała stosunkowo mały podzbiór interfejsów API. Wśród tych wykluczonych było wiele interfejsów API, które były często używane w programie .NET Framework lub Xamarin. To komplikuje programowanie, ponieważ wymaga, aby deweloperzy znaleźli odpowiednie zamienniki dla znanych interfejsów API podczas tworzenia aplikacji i bibliotek przeznaczonych dla wielu implementacji platformy .NET. Program .NET Standard 2.0 rozwiązuje to ograniczenie, dodając ponad 20 000 więcej interfejsów API niż były dostępne na platformie .NET Standard 1.6, w poprzedniej wersji standardu. Aby uzyskać listę interfejsów API, które zostały dodane do platformy .NET Standard 2.0, zobacz .NET Standard 2.0 vs 1.6.
Niektóre dodatki do System przestrzeni nazw w programie .NET Standard 2.0 obejmują:
- Obsługa AppDomain klasy .
- Lepsza obsługa pracy z tablicami z dodatkowych składowych w Array klasie.
- Lepsza obsługa pracy z atrybutami z dodatkowych składowych w Attribute klasie.
- Lepsza obsługa kalendarza i dodatkowe opcje formatowania wartości DateTime .
- Dodatkowa Decimal funkcja zaokrąglania.
- Dodatkowe funkcje w Environment klasie.
- Ulepszona kontrola nad modułem odśmiecającym GC śmieci za pośrednictwem klasy .
- Ulepszona obsługa porównywania ciągów, wyliczenia i normalizacji w String klasie.
- Obsługa zmian czasu letniego i czasów przejścia w klasach TimeZoneInfo.AdjustmentRule i TimeZoneInfo.TransitionTime .
- Znacznie ulepszone funkcje w Type klasie .
- Lepsza obsługa deserializacji obiektów wyjątków przez dodanie konstruktora wyjątku z parametrami SerializationInfo i StreamingContext .
Obsługa bibliotek programu .NET Framework
Wiele bibliotek jest przeznaczonych dla platformy .NET Framework, a nie .NET Standard. Jednak większość wywołań w tych bibliotekach to interfejsy API uwzględnione w programie .NET Standard 2.0. Począwszy od platformy .NET Standard 2.0, można uzyskać dostęp do bibliotek .NET Framework z biblioteki .NET Standard przy użyciu podkładki zgodności. Ta warstwa zgodności jest niewidoczna dla deweloperów; Nie musisz nic robić, aby korzystać z bibliotek programu .NET Framework.
Jednym wymaganiem jest to, że interfejsy API wywoływane przez bibliotekę klas programu .NET Framework muszą być uwzględnione w programie .NET Standard 2.0.
Obsługa języka Visual Basic
Teraz możesz opracowywać biblioteki .NET Standard w visual basic. Programy Visual Studio 2019 i Visual Studio 2017 w wersji 15.3 lub nowszej z zainstalowanym obciążeniem platformy .NET Core zawierają szablon biblioteki klas .NET Standard. W przypadku deweloperów języka Visual Basic korzystających z innych narzędzi programistycznych i środowisk można utworzyć projekt biblioteki .NET Standard za pomocą polecenia dotnet new . Aby uzyskać więcej informacji, zobacz Obsługa narzędzi dla bibliotek .NET Standard.
Obsługa narzędzi dla bibliotek .NET Standard
Wraz z wydaniem programów .NET Core 2.0 i .NET Standard 2.0 zarówno Visual Studio 2017, jak i interfejsu wiersza polecenia platformy .NET obejmują obsługę narzędzi do tworzenia bibliotek platformy .NET Standard.
Jeśli zainstalujesz program Visual Studio z obciążeniem programowania dla wielu platform .NET Core, możesz utworzyć projekt biblioteki .NET Standard 2.0 przy użyciu szablonu projektu, jak pokazano na poniższej ilustracji:
Jeśli używasz interfejsu wiersza polecenia platformy .NET, następujące polecenie dotnet new tworzy projekt biblioteki klas przeznaczony dla platformy .NET Standard 2.0:
dotnet new classlib