Ви праві, що це вже давно реалізовано в .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.