Не удается запустить Xamarin.приложение iOS на устройстве

Я разрабатываю приложение для iPad с Xamarin.iOS и MVVMcross. Поэтому у меня есть PCL с моей моделью представления и моей моделью, а также проект iOS с представлением. Я использую Visual Studio.

раньше я использовал Xamarin.iOS 6.3.6 бета-версия, и когда я попытался запустить приложение на устройстве, an .файл приложения был создан и, получив его с помощью Ipad, я мог запустить приложение (невозможно запустить непосредственно из Visual Studio).

вчера я загрузил Xamarin.с iOS 6.4.1. На тренажере, все в порядке. Когда я пытаюсь запустить приложение на устройстве, теперь приложение непосредственно установлено, но остановка сборки и следующая ошибка появляются в выходных данных отладки:

Failed to load AOT module '<my PCL>' while running in aot-only mode: doesn't match assembly. 

и если я нажму на значок моего приложения на устройстве, черный экран появится и исчезнет немедленно.

кто-нибудь знает, почему эта ошибка появляется?

7 ответов


похоже, что что-то было кэшировано где-то или не обновлено правильно.

вот несколько идей, чтобы попробовать:

  • удалить приложение с устройства.
  • очистить и перестроить приложение.
  • сборка и установка из Xamarin Studio на вашем Mac.
  • скопируйте конфигурацию отладки в новую конфигурацию (например, DebugTest) и вместо этого запустите эту конфигурацию.

Я регулярно получаю ту же проблему здесь.

обходной путь, который я использую для переключения платформы в Visual Studio построить конфигурации менеджера "iPhoneSimulator", быстро отладочной сессии, то переключить платформу на "айфонах", и проблема исчезает на некоторое время.

к сожалению, у меня нет разумной причины, почему это работает. Похоже, что он лучше справляется с "чисткой и перестройкой".


после прочтения аналогичная ошибка, я обнаружил, что очистка папки mtbs на хосте OS X, который находится в $HOME/Library/Caches/Xamarin/mtbs/ исправляет эту проблему для меня.

Я должен делать это так часто, у меня просто есть сеанс шпатлевки, открытый на моем окне Windows, чтобы очистить папку. Я надеюсь, что Xamarin исправит эту проблему в ближайшее время.


убедитесь, что поведение компоновщика установлено в Don't Link

очистить, восстановить, удалить старую версию из приложения.

работали для меня по крайней мере.


Это произошло со мной после того, как я обновился до XCode 5/iOS7. Я заметил предупреждение о том, что я не установил инструменты командной строки XCode. После этого я перестроил приложение, и теперь оно работает.


У меня просто была эта проблема, и она снова заработала, открыв свойства проекта Apple и изменив идентификатор профиля подготовки с "дистрибутива" на "разработчик".


мой обходной путь на Mac-это

  1. закрыть решение в XS
  2. выйти из XS. Команда-Г
  3. откройте его и снова откройте решение.

после этого он обычно работает снова.