Realm Xamarin - GetInstance()出错

时间:2016-10-16 15:16:04

标签: c# android xamarin realm

我以这种方式设置主页:

public class Casa
{
    public static void SetLastUpdate(object sender, System.Timers.ElapsedEventArgs e)
    {
        LastUpdate = DateTime.Now;
    }
    public static DateTime LastUpdate
    {
        get { return LastUpdate; }
        set { LastUpdate = DateTime.Now; }
    }
}

调试Android项目我收到此错误并且应用程序崩溃:

  

System.Reflection.TargetInvocationException:抛出了异常   通过调用的目标。

  • 我已经安装了" Realm"在PCL和使用NuGet的Droid项目中,但它似乎不起作用。
  • 如果我删除GetInstance()调用,应用程序不会崩溃;

堆栈追踪:

namespace MyNamepage
{
public partial class MyPage: ContentPage
  {
    private Realm realm;
    public MyPage()
    {
        InitializeComponent();
        this.realm = Realm.GetInstance();
    }
  }
}

2 个答案:

答案 0 :(得分:1)

当堆栈跟踪指示并且您在注释中发布的路径显示时。您已将PCL版本安装到特定于平台的项目中。这就是为什么它会抛出你得到的PlatformNotSupportedException例外。

尝试在特定于平台的项目中重新安装NuGet。或者,您可以手动将参考更改为指向:

packages\Realm.0.78.1\lib\MonoAndroid44\Realm.dll

您不应该在平台特定项目中引用可移植文件夹。

答案 1 :(得分:0)

我在 Realm 4.0.1 中使用 Xamarin.Forms 3.4.0.1008975 遇到了类似的问题

  

未处理的异常:System.TypeInitializationException:类型   “ Realms.SharedRealmHandle”的初始化程序引发了异常。   发生

解决方案是从解决方案中的所有项目中完全卸载nuget Realm软件包,然后再次重新安装Realm。还要确保所有项目中都有 FodyWeaver.xml 文件。