Що таке розширення платформи .NET на docs.microsoft.com?


84

У Microsoft Docs є елемент навігації на рівні фреймворку, який називається ".NET Platform Extensions" . Він містить документи щодо нещодавно доданих API, таких як System.IO.Pipelinesі, System.Threading.Channelsнаприклад, а також цілу купу інших API, включаючи не зовсім нещодавні.

Деякі API з цієї колекції доступні як nuget-пакети (як для .Net Core, так і для .Net Framework), але інші, здається, недоступні. Крім того, на сьогоднішній день не існує жодного пакунка nuget, який називається ".NET Platform Extensions" або щось подібне.

Отже, питання полягає в тому, що саме представляє ця колекція API? Яке це відношення до кожного з наступного:

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

А як щодо підтримки в .Net Framework / .Net Core?

Нарешті, деякі API, здається, вже доступні як окремі nuget-пакети, інші ще не доступні, то яка історія з цього приводу?


9
Як стверджує .NET. Представляючи пакет сумісності Windows для .NET Core , "Розширення платформи" призначені для API, які не є частиною платформи (Core або Standard), але доступні через Nuget. Ви не очікували б на це єдиного всеосяжного пакета Nuget.
Damien_The_Unbeliever

3
чи означає це, що якщо я використовую пакет розширень, наприклад API DirectorySearcher, я отримаю можливість використовувати той самий код на контейнері Linux під час запуску .NET core 2.2. Дякую
Rishabh Jain

Відповіді:


61

Він представляє API, які постачаються як пакети NuGet, замість того, щоб бути частиною спільного середовища для .NET Core.

Зараз ми не маємо можливості ідентифікувати різні пакети та цільові рамки, які вони підтримують на docs.microsoft.com, але це те, що потрібно вирішити у нашому відставанні. Тож додавши, що як нова ціль дозволило нам додавати документи для нових API.


5
Незрозуміло, що насправді є частиною розширень платформи, наприклад, Microsoft.Extensions.Logging.Loggerклас (частина Microsoft.Extensions.Logging.Abstractions.dll) перелічений у розділі .NET Platform Extensions, але це частина спільної платформи ASP.NET Core 3.1
Іван,

7

Ви можете використовувати пакет сумісності Windows, якщо ви хочете націлити платформу Windows лише на початок процесу портування та поступово використовувати незалежну від платформи альтернативу .NET Core АБО .NET Standard.

Зверніться до докладнішої інформації: https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack

Пакет сумісності Windows надається через пакет NuGet Microsoft.Windows.Compatibility і на нього можна посилатися з проектів, націлених на .NET Core або .NET Standard.

Будь ласка, зверніться до посилання NuGet для отримання більш докладної інформації: https://www.nuget.org/packages/Microsoft.Windows.Compatibility, і ви можете використовувати його, виконавши команду нижче:

Install-Package Microsoft.Windows.Compatibility -Version 3.1.0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.