2013-04-25 7 views
2

Я написал код для разбора строки json в моем приложении android xamarin.json parsing with 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 (типа TypeDefinition)

на Mono.Linker.Steps.MarkStep.InitializeType (типа TypeDefinition)

на 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

Если компоновщик терпит неудачу с «не удалось найти тип blah blah», то это обычно означает, что вы используете библиотеку .Net в каком-либо месте в своем приложении. Если это JSON.Net, удалите сборку рабочего стола и используйте версию JSON.Net в хранилище компонентов (это версия NuGet от Xamarin, за исключением некоторых вещей).

Я также удостоверился, что у вас установлена ​​последняя версия Xamarin.Android.

+0

спасибо @jonathan .. !!! Я удалил настольную версию, и теперь она отлично работает с сборкой, которую я получил от http://components.xamarin.com/gettingstarted/json.net. –