Ho aggiornato a MvvmCross versione 4.2.1 dalla versione 4.2.0 tramite NuGet e ora il progetto Android si arresta in modo anomalo durante l'avvio. Un MvxException
è gettato durante la schermata di avvio con il messaggio:È necessario chiamare GuaranteLoaded sul plug-in File prima di utilizzare DownloadCache
MvvmCross.Platform.Exceptions.MvxException: È necessario chiamare EnsureLoaded sul plug-in file prima di utilizzare il DownloadCache
Io in realtà sto chiamando questo metodo in override MvxAppCompatSetup.InitializeLastChance
. Questo ha funzionato bene con la versione 4.2.0, ma ora il codice non ha nemmeno colpito InitializeLastChance
quando si esegue la versione 4.2.1.
protected override void InitializeLastChance()
{
base.InitializeLastChance();
MvvmCross.Plugins.File.PluginLoader.Instance.EnsureLoaded();
MvvmCross.Plugins.DownloadCache.PluginLoader.Instance.EnsureLoaded();
}
non riesco a spostare le EnsureLoaded
chiamate a InitializeFirstChance
perché non prendo un'eccezione perché i plugin non sono ancora stati inizializzati
Impossibile risolvere il tipo MvvmCross.Platform.Plugins.IMvxPluginManager
Il MvxSetup.InitializePluginFramework
sembra lanciare questa eccezione quando viene chiamato InitializePluginFramework
.
NuGet visualizzati messaggi di errore per ogni plugin che ho installato durante l'aggiornamento:
[Failure] Impossibile archiviare file' ... \ Project.Droid \ Bootstap \ XXXBootstrap.cs'
I file sono sicuramente lì e il pacchetto si installa senza riportare un errore.
Qual è il modo corretto di gestire questo problema?
Questo sembrava risolvere il problema. –
Ok rimuovendo i file sopra dalla cartella Bootstrap e definendo esplicitamente l'ordine di caricamento nel metodo InitializeLastChance() sembra che risolva il problema. Ulteriori informazioni su InitializeLastChance disponibili in [Personalizzazioni personalizzate] (https: // github.com/MvvmCross/MvvmCross/wiki/Personalizzazione-utilizzando-App-e-Setup) – JohnnyJaxs
Per coloro che ora affrontano MvxException: Impossibile trovare il caricatore di plugin per il tipo MvvmCross.Plugins.File.PluginLoader c'è una soluzione un po 'più lunga descritta qui https: //github.com/MvvmCross/MvvmCross-Plugins/issues/119#issuecomment-233129197 – foxanna