C# 无法加载类型';System.Net.Http.FormattingUtilities';
在Xamarin.Android项目的PCL项目中,当我执行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
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
?