„MVVMCross 6.4.2“ yra „MVVMCross 6“ serijos atnaujinimas, kuris pristatė keletą sistemos pakeitimų ir patobulinimų. Nors konkretūs patys 6.4.2 pakeitimai nėra išsamūs paieškos rezultatuose, supratimas apie platesnį „MVVMCross 6“ kontekstą ir jo papildinio įkėlimo mechanizmą gali padėti nustatyti galimą poveikį papildinių pakrovimui.
MVVMCross 6 pakeitimai
1. Supaprastintas papildinio kūrimas: pradedant nuo MVVMCROSS 6.0, papildinių kūrimas tapo paprastesnis. Norėdami sukurti papildinį, turite sukurti biblioteką, kuri nurodo pagrindinį „MVVMCross“ paketą, pridėti tipą, kuris paveldi iš „imvxplugin“, ir komentuoti jį su „mvxpluginattribute“. Papildinio „apkrovos“ metodas automatiškai iškviečiamas programos sąrankos metu, kur turėtumėte registruoti paslaugas ir klases naudodamiesi IOC konteineriu [4].
2. TOK patobulinimai: „MVVMCross 6“ apima IOC (valdymo inversijos) sistemos patobulinimus, tokius kaip geresnis konstruktorių atitikimas paslaugoms, o tai gali turėti įtakos papildinių įkeliamiems ir įregistruoti [9].
3. Platformos palaikymas: „MVVMCross 6“ palaiko įvairias platformas, įskaitant „Xamarin iOS“, „Android“, formas, „Windows“ ir „Mac“. Šis platus palaikymas užtikrina, kad papildiniai gali būti naudojami įvairiose platformose, tačiau tai taip pat reiškia, kad gali kilti konkrečios platformos problemos, jei jie nebus tinkamai tvarkomi [2].
Potencialios papildinio įkėlimo problemos
- Surinkimo įkėlimas: „MVVMCross 6“ papildiniai įkeliami nuskaitymo rinkiniais, skirtais tipams, anotacijuoti su „MVXPLUGInattribute“. Jei rinkiniai, kuriuose yra papildiniai, nėra tinkamai nurodyti ar įkelti, tai gali sukelti papildinių įkėlimo problemų [1] [4].
- NULL nuorodų išimtys: Kaip matyti kai kuriais atvejais, gali atsirasti NULL nuorodų išimtys, jei papildinio rinkiniai nėra teisingai identifikuojami arba jei yra problemų dėl IOC registracijos proceso [1].
- Versijos suderinamumas: užtikrinimas, kad visi „MVVMCross“ paketai ir papildiniai būtų toje pačioje versijoje, yra labai svarbi norint išvengti suderinamumo problemų. Tai apima tikrinimą, kad visi „NuGet“ paketai atnaujinami į naujausias suderinamas versijas [7].
geriausia papildinio įkėlimo praktika „MVVMCross 6.4.2“
- Teisingai nepaisykite „LoadPrugins“: jei tinkinate papildinio įkėlimą, įsitikinkite, kad „apkrovos plugugins“ metodas yra tinkamai panaikintas platformos specifinėse sąrankos klasėse, kad būtų galima tvarkyti bet kurią pasirinktinę logiką [1] [7].
- Naudokite „IMVXpluginManager“: Norėdami valdyti papildinių įkėlimą, naudokite „imvxpluginManager“ ir įsitikinkite, kad papildiniai yra teisingai užregistruoti IOC konteineryje [4].
- Monitoriaus žurnalai ir išimtys: naudokite tokius įrankius kaip „Mac“ ar „Windows“ įrenginio žurnalas, kad galėtumėte stebėti bet kokias išimtis, kurios gali atsirasti įkeliant papildinį [3].
Apibendrinant galima pasakyti, kad nors „MVVMCross 6.4.2“ nepateikia konkrečių papildinių įkėlimo pakeitimų, palyginti su ankstesnėmis 6 serijos versijomis, suprantant supaprastintą papildinio kūrimo procesą ir užtikrinant tinkamą surinkimo įkėlimą ir IOC registraciją, yra raktas į tai, kad būtų išvengta „Papilin“ pakrovimo problemų.
Citatos:[1] https://stackoverflow.com/questions/73128508/how-to-load-plugins-when-updating-to-mvmcross-6-4-2-from-5-6-2
[2] https://www.nuget.org/packages/mvvmcross/6.4.2
[3] https://github.com/mvvmcross/mvvmcross/issues/4364
[4] https://www.mvvmcross.com/documentation/plugins/plugins-development
[5] https://github.com/mvvmcross/mvvmcross/blob/develop/changelog.md
[6] https://www.nuget.org/packages/plugin.ble/
[7] https://stackoverflow.com/q/33774785
[8] https://www.nuget.org/packages/mvvmcross.forms/6.4.2
[9] https://www.mvvmcross.com/mvvmcross-6.4.0-rease/