Atunci când se actualizează la MVVMCross 6, mai multe modificări și considerente privind plugin -urile sunt importante de menționat:
1. Structura pluginului și spațiile de nume: În MVVMcross 6, structura pluginului a fost refactorată. Spațiul de nume pentru pluginuri s -a schimbat de la `mvvmcross.plugin. {PluginName}. {Platformă}` la `mvvmcross.plugin. {PluginName} .platforms. {Platform}`. Această modificare simplifică gestionarea pluginurilor, dar necesită actualizări în codul dvs. dacă faceți referire direct la aceste spații de nume [4].
2. Fișiere Bootstrap: MVVMCross 6 nu mai folosește fișiere Bootstrap pentru pluginuri. În schimb, pluginurile sunt încărcate folosind atributul `[mvxplugin]` și prin moștenirea de la `imvxplugin`. Acest lucru simplifică procesul de adăugare și gestionare a pluginurilor în aplicația dvs. [7].
3. Referințe explicite: În unele cazuri, pluginurile ar putea să nu fie încărcate decât dacă sunt menționate în mod explicit în codul dvs. Acest lucru este deosebit de relevant dacă proiectul dvs. nu utilizează direct tipuri din plugin, deoarece compilatorul ar putea să nu includă ansamblul pluginului în ieșirea de compilare [5].
4. Compatibilitatea versiunii: Asigurați -vă că toate pachetele MVVMcross, inclusiv plugin -urile, sunt actualizate la aceeași versiune pentru a evita problemele de compatibilitate. Acest lucru este crucial, deoarece MVVMcross 6 necesită .NET Standard 2.0 și toate componentele trebuie să se alinieze acestei cerințe [4] [7].
5. Pluginuri de încărcare: metoda „LoadPlugins” este utilizată pentru a încărca plugin -urile în timpul pornirii aplicației. Dacă întâlniți probleme cu pluginurile care nu se încarcă, este posibil să fie necesar să treceți peste această metodă din fișierul dvs. `Setup.cs` pentru a vă asigura manual că pluginurile sunt încărcate corect [1] [2].
6. Plug -uri specifice: Deși nu există pluginuri specifice care să necesite în mod universal atenție, pluginuri precum pluginul Messenger ar putea avea nevoie de actualizări pentru a se potrivi cu versiunea MVVMcross pe care o utilizați. De exemplu, atunci când treceți de la MVVMCross 6.4.2 la 8.0.1, asigurați -vă că pluginul Messenger este, de asemenea, actualizat la versiunea 8.0.1 pentru a evita problemele de rezoluție [9].
În rezumat, actualizarea la MVVMCross 6 implică actualizarea spațiilor de nume a pluginului, eliminarea fișierelor de bootstrap, asigurând referințe explicite la pluginuri, dacă este necesar, menținerea compatibilității versiunii și încărcarea manuală a plugin -urilor, dacă este necesar.
Citări:[1] https://stackoverflow.com/questions/73128508/how-to-load-plugins-when-upading-to-mvvmcross-6-4-2-from-5-6-2
[2] https://stackoverflow.com/q/33774785
[3] https://www.mvvmcross.com/mvvmcross-5-release/
[4] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[5] https://github.com/mvvmcross/mvvmcross/issues/2923
[6] https://github.com/aalice072/mvvmcross/blob/master/changelog.md
[7] https://www.mvvmcross.com/mvvmcross-6.0.0-release/
[8] https://github.com/mvvmcross/mvvmcross/issues/3531
[9] https://stackoverflow.com/questions/68214000/mvvmcross-upgrade-from-6-4-2-To-8-0-1
[10] https://github.com/mvvmcross/mvvmcross/Releases
[11] https://www.nuget.org/packages/mvvmcross.plugin.ble/