Co to są rozszerzenia platformy .NET w witrynie docs.microsoft.com?

91

W Microsoft Docs znajduje się element nawigacyjny na poziomie struktury o nazwie „.NET Platform Extensions” . Zawiera dokumentację dotyczącą ostatnio dodanych interfejsów API, takich jak System.IO.Pipelinesi System.Threading.Channelsna przykład, a także całą masę innych interfejsów API, w tym nie tak niedawne.

Niektóre interfejsy API z tej kolekcji są dostępne jako pakiety nuget (zarówno dla .Net Core, jak i .Net Framework), ale inne nie są pozornie dostępne. Ponadto obecnie nie ma pakietu NuGet o nazwie „Rozszerzenia platformy .NET” ani nic podobnego.

A więc pytanie brzmi, co dokładnie reprezentuje ta kolekcja interfejsów API? Jaki jest jego związek z każdym z poniższych:

  • .Net Framework
  • .Net Core
  • .Net Standard

A co z obsługą w .Net Framework / .Net Core?

Wreszcie, niektóre interfejsy API wydają się być już dostępne jako oddzielne pakiety nuget, inne nie zostały jeszcze udostępnione, więc jaka jest historia w tym względzie?

Fit Dev
źródło
10
Jako .NET - Przedstawiamy pakiet zgodności systemu Windows dla .NET Core , „Rozszerzenia platformy” są przeznaczone dla interfejsów API, które nie są częścią platformy (Core lub Standard), ale są dostępne za pośrednictwem Nuget. Nie spodziewałbyś się do tego jednego, obejmującego wszystko pakietu Nuget.
Damien_The_Unbeliever
3
Czy to oznacza, że ​​jeśli użyję pakietu rozszerzeń, np. DirectorySearcher API, będę mógł użyć tego samego kodu na kontenerze Linuksa z uruchomionym .NET core 2.2. Dzięki
Rishabh Jain,

Odpowiedzi:

65

Reprezentuje interfejsy API, które są dostarczane jako pakiety NuGet, zamiast być częścią udostępnionej platformy .NET Core.

W tej chwili nie mamy możliwości zidentyfikowania różnych pakietów i platform docelowych, które obsługują w witrynie docs.microsoft.com, ale jest to coś, co znajduje się w naszych zaległościach do rozwiązania. Dodanie tego jako nowego celu umożliwiło nam dodanie dokumentów dla nowych interfejsów API.

Maíra Wenzel - MSFT
źródło
7
Nie jest jasne, co tak naprawdę jest częścią rozszerzeń platformy, na przykład Microsoft.Extensions.Logging.Loggerklasa (część Microsoft.Extensions.Logging.Abstractions.dll) jest wymieniona w obszarze Rozszerzenia platformy .NET, ale jest częścią udostępnionej platformy ASP.NET Core 3.1
Ivan
7

Możesz użyć Windows Compatibility Pack, jeśli chcesz kierować platformę Windows tylko na początek procesu przenoszenia i stopniowo używać niezależnej od platformy alternatywy dla .NET core LUB .NET Standard.

Zobacz więcej szczegółów: https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack

Pakiet zgodności systemu Windows jest udostępniany za pośrednictwem pakietu NuGet Microsoft.Windows.Compatibility i można do niego odwoływać się z projektów przeznaczonych dla platformy .NET Core lub .NET Standard.

Aby uzyskać więcej informacji, zapoznaj się z linkiem NuGet: https://www.nuget.org/packages/Microsoft.Windows.Compatibility i możesz go użyć, wykonując poniższe polecenie:

Install-Package Microsoft.Windows.Compatibility -Version 3.1.0
Nikunj Banker
źródło