C# 无法加载类型';System.Net.Http.FormattingUtilities';

C# 无法加载类型';System.Net.Http.FormattingUtilities';,c#,android,.net,xamarin.android,C#,Android,.net,Xamarin.android,在Xamarin.Android项目的PCL项目中,当我执行httpClient.PostAsJsonAsync()或httpClient.PutAsJsonAsync()时,会出现以下错误 错误: System.TypeLoadException:无法从程序集'System.Net.Http.Formatting,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'加载类型'System.Net.Http.Format

在Xamarin.Android项目的PCL项目中,当我执行
httpClient.PostAsJsonAsync()
httpClient.PutAsJsonAsync()
时,会出现以下错误

错误:

System.TypeLoadException:无法从程序集'System.Net.Http.Formatting,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'加载类型'System.Net.Http.FormattingUtilities'。

此代码中出现此错误:

public async Task<User> CreateUser(string name, string email, string password)
    {
        try
        {
            User user = new User();
            user.Name = name;
            user.Email = email;
            user.Password = password;

            var response = await _client.PostAsJsonAsync("myUrl", user); // error on this line
            string content = await response.Content.ReadAsStringAsync();

            return string.IsNullOrEmpty(content) ? new User() :
                JsonConvert.DeserializeObject<User>(content);
        }
        catch (JsonReaderException ex)
        {
            throw ex;
        }
        catch (WebException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex; // ex is null here
        }
}
public async Task CreateUser(字符串名称、字符串电子邮件、字符串密码)
{
尝试
{
用户=新用户();
user.Name=Name;
user.Email=电子邮件;
user.Password=密码;
var response=wait _client.PostAsJsonAsync(“myUrl”,user);//此行出错
string content=wait response.content.ReadAsStringAsync();
返回字符串.IsNullOrEmpty(内容)?新用户():
JsonConvert.DeserializeObject(内容);
}
捕获(JsonReaderException ex)
{
掷骰子;
}
捕获(WebException ex)
{
掷骰子;
}
捕获(例外情况除外)
{
throw ex;//这里的ex为null
}
}
我放弃了

我把它改成:

string json = JsonConvert.SerializeObject(user);
var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
var response = await _client.PostAsync(myUrl, stringContent);

现在它可以工作了。

尝试删除web.ui项目(或其他名称,只是前端项目)下的package、bin和obj文件夹下的所有文件,或者在@NathanGong中添加程序集依赖项配置,不,它不起作用。使用nuget删除并重新安装它怎么样?@NathanGong,是,但它没有起作用。我添加了
System.Net.Http.Formatting.Extension
nuget包。是这个吗?或者我应该添加
Microsoft.AspNet.WebApi.Client