2016-07-29 9 views
3

Я использую клиент C# для Breeze 0.6 в приложении Xamarin.Forms 2.0 на iOS 9.3. Когда я делаю запрос с предложением WHERE, приложение будет работать в симуляторе iPhone, но не работает на самом устройстве. Отказ от устройства является исключением с сообщением:Ошибка Breeze C# при использовании предложения WHERE на устройстве iOS

инициализатор типа для «System.Data.Services.Client.TypeSystem» бросил исключение.

Если я удаляю предложение where, приложение больше не генерирует исключение, но мне нужно иметь возможность использовать предложения WHERE для правильного ограничения объема данных, отправляемых с сервера.

В чем причина этой ошибки?

+1

Вы используете компоновщик? Это может быть проблемой. Попробуйте отключить компоновщик и снова запустить приложение с целым рядом. – hankide

+0

Я начал комментировать здесь, но затем переместил его вниз, чтобы я мог отметить это как ответ. Один вопрос. Требуется ли компоновщик, если мне нужно использовать внешние библиотеки? У меня есть внешняя библиотека на базе ObjC от третьей стороны, которую я в конечном итоге хочу включить. Мне нужен линкер для этого? – Brian

ответ

1

Woohoo! Это помогло. Спасибо @hankide. Существует три варианта «Поведение линкера». Это «Не связывать», «Только ссылки на SDK для ссылок» и «Связать все». По умолчанию используется «Только SDK для пакетов ссылок». Я изменил его на «Do not Link», и теперь он работает на моем iPhone.

Отредактировано:

Просто FYI для людей, видящих это. Когда вы выключаете компоновщик, вам нужно сделать это дважды. Один раз для конфигурации сборки Debug и в другое время для конфигурации сборки Release. Некоторое время я был расстроен, потому что я не мог заставить сборку релизов работать. После настройки Xamarin Insights я увидел ту же ошибку компоновщика, что и раньше, и выяснил, что для сборки релиза существует аналогичная, но отдельная компоновка компоновщика.

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

  • Нет связанных вопросов^_^