【发布时间】:2016-08-10 09:12:36
【问题描述】:
我已通过 NuGet 从 4.2.0 版更新到 MvvmCross 4.2.1 版,现在 Android 项目在启动期间崩溃。在初始屏幕期间抛出 MvxException 并显示以下消息:
MvvmCross.Platform.Exceptions.MvxException:您必须调用 EnsureLoaded 在使用 DownloadCache 之前的 File 插件上
我实际上是在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
MvxSetup.InitializePluginFramework 似乎在调用 InitializePluginFramework 时抛出此异常。
NuGet 显示我在更新期间安装的每个插件的错误消息:
[失败] 无法归档文件'...\Project.Droid\Bootstap\XXXBootstrap.cs'
文件肯定在那里,并且安装包没有报告错误。
处理这个问题的正确方法是什么?
【问题讨论】:
标签: mvvmcross