我已经通过NuGet从4.2.0版本更新到MvvmCross 4.2.1版本,现在Android项目在启动过程中崩溃了。在初始屏幕期间,将显示MvxException
并显示以下消息:
我实际上是在MvxAppCompatSetup.InitializeLastChance
覆盖中调用此方法。这对于4.2.0版来说对我来说效果很好,但是现在在运行4.2.1版时,该代码甚至都没有命中InitializeLastChance
。
protected override void InitializeLastChance()
{
base.InitializeLastChance();
MvvmCross.Plugins.File.PluginLoader.Instance.EnsureLoaded();
MvvmCross.Plugins.DownloadCache.PluginLoader.Instance.EnsureLoaded();
}
我无法将
EnsureLoaded
调用移到InitializeFirstChance
,因为那里会因为插件尚未初始化而出现异常调用
MvxSetup.InitializePluginFramework
时,InitializePluginFramework
似乎引发了此异常。NuGet显示了我在更新期间安装的每个插件的错误消息:
这些文件肯定存在,并且该软件包在安装时不会报告错误。
解决此问题的正确方法是什么?
最佳答案
尝试删除DownloadCachePluginBootstrap.cs和FilePluginBootstrap.cs只是将手动设置保留在InitializeLastChance()中。加载顺序似乎有问题。