Как я могу использовать HttpClient.PostAsync()

#c# #.net #rest #api #httpclient

#c# #.net #остальное #API #httpclient

Вопрос:

Я новичок в c #, я пытаюсь использовать удаленный API (Rest API, развернутый локально). Вот код, который я использую:

 public void insertData(string id)
{
    HttpClient h = new HttpClient();
    h.BaseAddress = new Uri("http://localhost:51157");
    h.DefaultRequestHeaders.Accept.Clear();
    h.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));                
    var url = "http://localhost:57677/api/add";
    var d = new
       {
            eid = eid
       };
    var response = h.PostAsync(url.ToString(), d).Resu<
    if (response.StatusCode == HttpStatusCode.OK)
    {
         MessageBox.Show("Successfully Added");

    }
}
 

Здесь я получаю сообщение об ошибке во время построения самого решения, поскольку

Ссылка на тип ‘Task<>’ утверждает, что он определен в ‘mscorlib’, но его не удалось найти

Как я могу это исправить?

Комментарии:

1. Похоже, проблема с . Версия NET framework. Не могли бы вы проверить, какова версия .net Framework из свойств проекта?

2. Похоже, у вас какое-то несоответствие ссылок. Иногда Microsoft перемещает классы, поэтому вы можете ссылаться на одну библиотеку, которая думает, что она mscorlib есть, но на самом деле она где-то в другом месте.

3. .Net версии 3.5. Но я добавил ссылку на System.Net.http версии 4.5 для использования HttpClient

4. Я думаю Task , что это было определено в пакете NuGet TaskParallelLibrary для .NET Framework 3.5, но оно (предположительно) было перенесено в mscorlib в 4.0 или 4.5. Вы можете попробовать напрямую ссылаться на TaskParallelLibrary, чтобы увидеть, удовлетворяет ли это его. В противном случае вам может потребоваться обновление до .NET Framework 4.5 для вашего проекта.