c# - HttpClient不支持PostAsJsonAsync方法C#

我正在尝试从我的Web应用程序调用Web API。我正在使用.NET 4.5,在编写代码时,我得到的错误HttpClient不包含定义PostAsJsonAsync方法。
代码如下:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:51093/");
client.DefaultRequestHeaders.Accept.Add(
   new MediaTypeWithQualityHeaderValue("application/json"));
var user = new Users();
user.AgentCode = 100;
user.Remarks = "Test";
user.CollectionDate = System.DateTime.Today;
user.RemittanceDate = System.DateTime.Today;
user.TotalAmount = 1000;
user.OrgBranchID = 101;

var response = client.PostAsJsonAsync("api/AgentCollection", user).Result;

我收到错误消息:
错误:“system.net.http.httpclient”不包含的定义
“postasjsonasync”和不接受的第一个参数的扩展方法“postasjsonasync”
找不到类型“system.net.http.httpclient”(是否缺少)
使用指令或程序集引用?)
请看一看,给我建议。


最佳答案:

是的,您需要添加对

System.Net.Http.Formatting.dll

这可以在扩展程序集区域中找到。
实现这一点的一个好方法是将nuget包microsoft.aspnet.webapi.client添加到项目中。