2017-02-10 14 views
1

Я установил Realm через NuGet в мой Xamarin PCL и мой Android проекта, и когда я пытаюсь запустить любые строки Realm кода я получаю следующее исключение:Xamarin Realm PlatformNotSupportedException

System.PlatformNotSupportedException: The PCL build of Realm is being linked which probably means you need to use NuGet or otherwise link a platform-specific Realm.dll to your main application. 

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

ответ

2

Откройте свои файлы csproj для каждого из конкретных проектов платформы. Убедитесь, что ссылка dll, на которую ссылается, происходит из конкретной папки платформы в пакете NuGet.

Если вы видите эту ошибку, вы, скорее всего, увидите ее начиная от portable-net45+sl5+wp8+wpa81+win8+monoandroid+Xamarin.iOS10+Xamarin.Mac.

Вам нужна эта ссылка, чтобы указать на MonoAndroid44, Xamarin.iOS10, Xamarin.Mac и т. Д. Не переносная. Исправьте это, и вы исправите свое исключение.

+0

У меня есть это в Android-проекте для Realm Version: ' .. \ .. \ packages \ Realm.0.82.1 \ lib \ MonoAndroid44 \ Realm.dll' – DrObey

+0

Я отметил это как ответ, хотя это было не совсем правильно, это прямо привело меня к решению: это было не неправильное направление DLL Realm, которое вызывало ошибку, а DLL Remotion.Linq. Мой проект проекта Android содержал следующее: ' .. \ .. \ packages \ Remotion.Linq .2.1.1 \ Lib \ портативного net45 + выиграть + wpa81 + wp80 \ Remotion.Linq.dll Правда ', то "портативный-net45 ..." бит следует читать "MonoAndroid44" – DrObey

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

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