#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 для вашего проекта.