UWP - 无法加载DLL' realm-wrappers'

时间:2017-07-17 02:04:46

标签: visual-studio xamarin uwp xamarin.forms realm

我在Win10上使用Visual Studio 2017创建了一个Xamarin / Realm应用程序。它针对iOS,Android和UWP。我试图在Windows和macOS上构建这个解决方案。

我在macOS中添加了Realm,并在Android和iOS上成功测试了我的应用程序。然后当我搬回我的Windows机器。它目前正在瞄准UWP。当我在本地计算机上运行应用程序时,我看到以下运行时异常:

System.TypeInitializationException occurred
  HResult=0x80131534
  Message=The type initializer for 'Realms.Realm' threw an exception.
  Source=<Cannot evaluate the exception source>
  StackTrace:
   at Realms.Realm.GetInstance(RealmConfigurationBase config)
   at MouseDroid.MainPageViewModel..ctor() in C:\Users\hmurphy\Documents\Pittsh\Projects\mouse_droid\MouseDroid\MainPageViewModel.cs:line 20
   at MouseDroid.MainPage..ctor() in C:\Users\hmurphy\Documents\Pittsh\Projects\mouse_droid\MouseDroid\MainPage.xaml.cs:line 28
   at MouseDroid.App..ctor() in C:\Users\hmurphy\Documents\Pittsh\Projects\mouse_droid\MouseDroid\App.xaml.cs:line 17
   at MouseDroid.UWP.MainPage..ctor() in C:\Users\hmurphy\Documents\Pittsh\Projects\mouse_droid\MouseDroid.UWP\MainPage.xaml.cs:line 24
   at MouseDroid.UWP.MouseDroid_UWP_XamlTypeInfo.XamlTypeInfoProvider.Activate_4_MainPage() in C:\Users\hmurphy\Documents\Pittsh\Projects\mouse_droid\MouseDroid.UWP\obj\x64\Debug\XamlTypeInfo.g.cs:line 207
   at MouseDroid.UWP.MouseDroid_UWP_XamlTypeInfo.XamlUserType.ActivateInstance() in C:\Users\hmurphy\Documents\Pittsh\Projects\mouse_droid\MouseDroid.UWP\obj\x64\Debug\XamlTypeInfo.g.cs:line 429

Inner Exception 1:
DllNotFoundException: Unable to load DLL 'realm-wrappers': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

这种情况发生在我的MainPageViewModel内,并呼叫GetInstance

public class MainPageViewModel
{
    public IEnumerable<Package> Packages { get; private set; }

    public INavigation Navigation { get; set; }

    private Realm _realm;

    public MainPageViewModel() 
    {
        _realm = Realm.GetInstance();

        Packages = _realm.All<Package>();
    }
}

我使用的是1.5.0。根据这个commit,似乎不应该成为一个问题。

我的配置是使用x86 for UWP。 UWP已设置为构建和部署。我已经重新构建了我的解决方案,以防万一FodyWeaver个对象没有正确生成。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

更新10月17日:从Realm 2.0.0开始,完全支持同步UWP,升级到最新版本可以解决问题。

对于那些想要坚持使用2.0之前版本的人来说,这是以前的答案:

您应该删除UWP上的Realm包,而是使用Realm.Database一个。您收到此错误的原因是Realm包中包含与同步相关的API,即not yet supported on UWP/Windows