2017-02-10 54 views
1

我已經通過的NuGet安裝的領域進入我Xamarin PCL和我的Android項目,當我嘗試運行的境界任何代碼行,我得到以下異常:Xamarin境界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

我已經在Realm版本的Android項目中獲得了這個:' .. \ .. \ packages \ Realm.0.82.1 \ lib \ MonoAndroid44 \ Realm.dll' – DrObey

+0

我已經標記爲答案,雖然它不是很正確,但它直接導致我找到解決方案:它不是導致錯誤的Realm DLL錯誤導向,而是Remotion.Linq DLL。我的Android項目文件包含以下內容:「 .. \ .. \ packages \ Remotion.Linq .2.1.1 \ LIB \便攜式net45 + WIN + wpa81 + WP80 \ Remotion.Linq.dll ', 「便攜式-net45 ......」 位應改爲 「MonoAndroid44」 – DrObey