Ich habe die Version 4.2.1 von Version 4.2.0 über NuGet auf MvvmCross aktualisiert und jetzt stürzt das Android-Projekt beim Start ab. Ein MvxException
wird während des Begrüßungsbildschirms mit der folgenden Meldung ausgelöst:
MvvmCross.Platform.Exceptions.MvxException: Sie müssen EnsureLoaded aufrufen auf dem Datei-Plugin, bevor Sie den DownloadCache verwenden
Ich rufe diese Methode tatsächlich in MvxAppCompatSetup.InitializeLastChance
override auf. Das hat mit Version 4.2.0 gut funktioniert, aber jetzt trifft der Code InitializeLastChance
nicht mehr, wenn er Version 4.2.1 ausführt.
Ich kann die EnsureLoaded
-Aufrufe nicht nach InitializeFirstChance
verschieben, weil ich dort eine Ausnahme bekomme, weil Plugins noch nicht initialisiert wurden
Fehler beim Auflösen des Typs MvvmCross.Platform.Plugins.IMvxPluginManager
Die MvxSetup.InitializePluginFramework
scheint diese Ausnahme auszulösen, wenn InitializePluginFramework
aufgerufen wird.
NuGet zeigte Fehlermeldungen für jedes Plugin an, das ich während des Updates installiert habe:
[Fehler] Die Datei '... \ Project.Droid \ Bootstap \ XXXBootstrap.cs'
konnte nicht gespeichert werden
Die Dateien sind definitiv da und das Paket wird installiert, ohne einen Fehler zu melden.
Was ist der richtige Weg, um mit diesem Problem umzugehen?
Versuchen Sie, DownloadCachePluginBootstrap.cs und FilePluginBootstrap.cs zu entfernen, lassen Sie das manuelle Setup einfach in InitializeLastChance (). Es scheint, dass es ein Problem mit der Ladereihenfolge gibt.
Wie @Piotr erwähnt:
Versuchen Sie nur, DownloadCachePluginBootstrap.cs und FilePluginBootstrap.cs zu entfernen Lassen Sie das manuelle Setup in InitializeLastChance (). Es scheint, dass es ein Problem mit der Ladereihenfolge.
Das hat das Problem auch für mich behoben.
Ich möchte nur meinen Code in der Setup.cs des iOS-Projekts freigeben, weil ich denke, dass das eine bessere Implementierung ist. Ich habe InitializeLastChance () nicht verwendet. Stattdessen habe ich AddPluginsLoaders und LoadPlugins verwendet.
%Vor%Tags und Links mvvmcross