在 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
}
}
最佳答案
我放弃了。
我把它改成:
string json = JsonConvert.SerializeObject(user);
var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
var response = await _client.PostAsync(myUrl, stringContent);
现在可以了。
关于c# - 无法加载类型 'System.Net.Http.FormattingUtilities',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40005413/