Вы правы, что это давно реализовано в .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.