Ви праві, що це вже давно реалізовано в .NET Core.
На момент написання (вересень 2019 року) project.jsonфайл NuGet 3.x + був замінений PackageReference(як пояснено на https://docs.microsoft.com/en-us/nuget/archive/project-json ).
Щоб отримати доступ до *Asyncметодів HttpClientкласу, ваш .csprojфайл повинен бути правильно налаштований.
Відкрийте .csprojфайл у текстовому редакторі та переконайтеся, що перший рядок
<Project Sdk="Microsoft.NET.Sdk.Web">
(як зазначено на https://docs.microsoft.com/en-us/dotnet/core/tools/project-json-to-csproj#the -csproj-формат ).
Щоб отримати доступ до *Asyncметодів HttpClientкласу, вам також потрібно мати у своєму файлі правильну посилання на пакет.csproj , наприклад:
<ItemGroup>
<!-- ... -->
<PackageReference Include="Microsoft.AspNetCore.App" />
<!-- ... -->
</ItemGroup>
(Див. Https://docs.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files#adding-a-packagereference . Також: Ми рекомендуємо додатки, орієнтовані на ASP.NET Core 2.1 та пізніше використовуйте метапакет Microsoft.AspNetCore.App , https://docs.microsoft.com/en-us/aspnet/core/fundamentals/metapackage )
Такі методи, як PostAsJsonAsync, ReadAsAsync, PutAsJsonAsyncі DeleteAsyncтепер повинні працювати з коробки. (Не потрібно використання директиви.)
Оновлення: Тег PackageReference більше не потрібен у .NET Core 3.0.