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