我已经通过NuGet从版本4.2.0更新到MvvmCross 4.2.1版,现在Android项目在启动过程中崩溃。一个MvxException
是闪屏与消息时抛出:在使用DownloadCache之前,您必须在File插件上调用EnsureLoaded
MvvmCross.Platform.Exceptions.MvxException:使用DownloadCache
我其实调用此之前,你必须调用EnsureLoaded 上的文件的插件方法在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
,因为那里我会得到一个异常无法解析类型MvvmCross.Platform.Plugins.IMvxPluginManager
当调用InitializePluginFramework
时,MvxSetup.InitializePluginFramework
似乎会抛出此异常。
的NuGet显示错误消息我在更新过程中已安装的每个插件:
[失效]无法提交文件” ... \ Project.Droid \ Bootstap \ XXXBootstrap.cs'
文件肯定存在,并且安装该软件包时不报告错误。
解决此问题的正确方法是什么?
这似乎解决了这个问题。 –
好吧,通过从Bootstrap文件夹中删除上述文件并明确定义方法InitializeLastChance()中的加载顺序,它似乎解决了问题。关于InitializeLastChance的更多信息,可以在[个人定制](https:// github。com/MvvmCross/MvvmCross/wiki/Customizing-using-App-and-Setup) – JohnnyJaxs
对于那些现在面临MvxException的用户:找不到类型为MvvmCross.Plugins.File.PluginLoader的插件加载器, //github.com/MvvmCross/MvvmCross-Plugins/issues/119#issuecomment-233129197 – foxanna