2016-09-16 37 views
0

我使用的是便攜式Xamarin表單 - CrossPlatform。 在Xamarin形式有兩個項目Android和IOSXamarin.Forms - TypeLoadException加載類型時發生故障

下面的代碼工作完美時,我運行在android應用程序。 但是相同的代碼在IOS中不起作用。

它發出錯誤「加載類型時發生故障」在線「var response = await client.Execute(request);」

下面是我的代碼

public async Task<ResponseGeneralObject<TokenModel>> LoginUser(LoginModel loginModel) 
{ 
    ResponseGeneralObject<TokenModel> result = new ResponseGeneralObject<TokenModel>(); 
    try 
    { 
     var restUrl = App.URLServicePath + "token"; 
     var client = new RestClient(restUrl); 
     TokenModel model = new TokenModel(); 

     var request = new RestRequest("", Method.POST); 
     request.AddParameter("grant_type", "password"); 
     request.AddParameter("username", loginModel.UserName); 
     request.AddParameter("password", loginModel.Password); 

     var response = await client.Execute(request); 
     var content = response.Content; 

     if (response.StatusCode == System.Net.HttpStatusCode.OK) 
     { 
      result.data = JsonConvert.DeserializeObject<TokenModel>(content); 
      // model = new JavaScriptSerializer().Deserialize<TokenModel>(response.Result.Content); 
      result.iserror = false; 
     } 
     else 
     { 
      result.iserror = true; 
      result.message = "Internal error!"; 
     } 
    } 
    catch (Exception ex) 
    { 
     result.iserror = true; 
     result.message = ex.Message; 
    } 
    return result; 
} 

回答

2

您是否使用了RestClient第三方庫?如果是這樣,請確保引用的版本與您的iOS,Android和PCL項目相匹配。當PCL和平臺項目之間存在包裝不匹配時,我已經看到TypeLoadExceptions