我在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
个对象没有正确生成。我错过了什么吗?
答案 0 :(得分:2)
更新10月17日:从Realm 2.0.0开始,完全支持同步UWP,升级到最新版本可以解决问题。
对于那些想要坚持使用2.0之前版本的人来说,这是以前的答案:
您应该删除UWP上的Realm包,而是使用Realm.Database一个。您收到此错误的原因是Realm包中包含与同步相关的API,即not yet supported on UWP/Windows。