2013-09-24 5 views
3

У меня есть Indie license для Xamarin, так что я могу разрабатывать приложения для iPhone/iPad на моем самом опытном языке программирования C#. С этой лицензией я не могу использовать плагин Visual Studio от Xamarin. Я по-прежнему предпочитаю Visual Studio до Xamarin Studio, поэтому я до сих пор разрабатываю на Visual Studio код, который не нуждается в MonoTouch ссылках, а затем просто скопируйте dll вручную в Xamarin Studio.Невозможно загрузить Json.NET dll Xamarin Studio

У меня есть один узел, рамки .Net 4.5, который получает следующее сообщение об ошибке при попытке отладки моего приложения:

Loaded сборки: /Users/EdGriMac/Dropbox/Quiz/Newtonsoft.Json. dll [Внешний] 2013-09-23 20: 30: 38.021 Exam936 [2228: c07] Не удалось загрузить «Newtonsoft.Json» для регистрации: System.Reflection.ReflectionTypeLoadException: классы в модуле не могут быть загружены. at (wrapper managed-to-native) System.Reflection.Assembly: GetTypes (System.Reflection.Assembly, bool) at System.Reflection.Assembly.GetTypes() [0x00000] в /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Reflection/Assembly.cs: 351 в MonoTouch.Registrar.OldDynamicRegistrar.RegisterAssembly (System.Reflection.Assembly a) [0x00000] в /Разработчик/MonoTouch/Source/monotouch/src /ObjCRuntime/OldDynamicRegistrar.cs:67 2013-09-23 20: 30: 38.023 Exam936 [2228: c07] Это может быть связано с устаревшей сборкой, хранящейся в симуляторе, местоположение: /Пользователи/EdGriMac/Dropbox/Quiz/Newtonsoft.Json.dll

Мои попытки:

  1. Первое, что приходит на ум, что NewtonSoft.Json не может быть использован с MonoTouch, но я не знаю, как узнать. Есть ли способ узнать наверняка, можно ли использовать стороннюю DLL?

  2. Моей второй идеей было то, что более старая или более новая версия NewtonSoft.Json может использоваться другой сборкой. Однако это не большой проект, и единственная другая сборка, которая использует Json, - RestSharp, но я не думаю, что она использует NewtonSoft.Json. Я просмотрел веб-страницы для их страницы GitHub, но не смог найти ссылку.

  3. Я гугле немного и нашел this post говоря, что (немного вниз) MonoTouch.Registrar.OldDynamicRegistrar.RegisterAssembly указывает на то, что (цитата :) I can't build the app using the build flags --registrar:olddynamic. If I remove that, it now works, I can now link and it appears to be working.. Это, вероятно, установка в Visual Studio вы можете настроить, когда у вас есть Business license. Я не знаю, как строить без этих флагов.

Является ли то, что я пытаюсь сделать возможным? Если да, что мне делать?

Заранее благодарен!

+0

Получите версию Json.Net, доступную в магазине компонентов Xamarin. он просто работает. –

+0

Сканирование этой сборки с использованием http://scan.xamarin.com/, как вы предложили по моему другому вопросу (http: // stackoverflow.com/questions/18980512/how-to-find-out-if-assembly-can-be-used-by-monotouch/18980843 # 18980843) показал мне, что 'NewtonSoft.Json' совместим только на 90%. Сегодня я попробую вашу альтернативу. – Halvard

ответ

5

Версия Json.NET от магазина компонентов Xamarin (http://components.xamarin.com/view/json.net/) работает нормально. И он устанавливается непосредственно изнутри Xamarin Studio

+0

Я не совсем понимаю, почему, но, как вы говорите, это просто работает. – Halvard

+0

, потому что кто-то нашел время, чтобы адаптировать его, чтобы он совместим с профилем .NET, доступным в monoTouch. –

+0

Это больше не относится к версии 5.1 (сборка 479) – Mason240

Смежные вопросы