2013-04-25 107 views
2

我寫了一段代碼來解析json字符串在我的android xamarin應用中。json用xamarin解析android

  var request = HttpWebRequest.Create(myUrl); 
      request.ContentType = "application/json"; 
      request.Method = "GET"; 
      using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
      {    
       if (response.StatusCode != HttpStatusCode.OK) 
       { 
        Console.Out.WriteLine("Error fetching data. Server returned status code: {0}", response.StatusCode); 
       } 
       using (StreamReader reader = new StreamReader(response.GetResponseStream())) 
       { 
        string content = reader.ReadToEnd(); 
        if (string.IsNullOrWhiteSpace(content)) 
        { 
         Console.Out.WriteLine("Response contained empty body..."); 
        } 
        else 
        {       
         List<BillsTableFields> billList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<BillsTableFields>>(content);       
//return block 
        } 
       } 
      }  

但它會引發構建錯誤。任何幫助將不勝感激,因爲我是Xamarin的新手,我無法在其他任何地方找到任何支持。 我得到的構建錯誤如下

C:\ Program Files \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(5,5):錯誤MSB4018:「LinkAssemblies」任務意外失敗。

Mono.Cecil.ResolutionException:無法解析System.Diagnostics.TraceLevel

在Mono.Linker.Steps.MarkStep.MarkType(TypeReference參考)

在Mono.Linker.Steps.MarkStep.MarkField (FieldReference參考)

在Mono.Linker.Steps.MarkStep.InitializeFields(類型定義類型)

在Mono.Linker.Steps.MarkStep.InitializeType(類型定義類型)

在Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition組件)

在Mono.Linker.Steps.MarkStep.Initialize()

在Mono.Linker.Steps.MarkStep.Process(LinkContext上下文)

在Mono.Linker.Pipeline.Process(LinkContext上下文)

在MonoDroid.Tuner.Linker.Process(LinkerOptions選項,LinkContext &上下文)

在Xamarin.Android.Tasks.LinkAssemblies.Execute()

在Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

在Microsoft.Build.BackEnd.TaskBuilder .d__20.MoveNext()(MSB4018)(LoginApptest)

回答

2

如果鏈接程序失敗時顯示「找不到類型等等」,那麼這通常意味着您在應用程序的某處使用了桌面.Net庫。如果是JSON.Net,請刪除桌面組合件並在組件存儲中使用JSON.Net版本(這是Xamarin的NuGet版本,除了一些支付的東西)。

我也會確保你有最新版本的Xamarin.Android。

+0

謝謝@jonathan .. !!!我刪除了桌面版本,現在它可以正常使用從http://components.xamarin.com/gettingstarted/json.net獲得的程序集 – 2013-04-25 12:23:24