Podczas aktualizacji do MVVMCROSS 6 ważne jest zwrócenie uwagi na kilka zmian i rozważań dotyczących wtyczek:
1. Struktura wtyczek i przestrzenie nazw: W MVVMCROSS 6 struktura wtyczki została przejęta. Przestrzeń nazw dla wtyczek zmieniła się z `mvvmcross.plugins. {PluginName}. {Platform}` na `mvvmcross.plugin. {PluginName} .platforms. {Platform}`. Ta zmiana upraszcza zarządzanie wtyczkami, ale wymaga aktualizacji w kodzie, jeśli bezpośrednio odwołujesz się do tych przestrzeni nazw [4].
2. Pliki Bootstrap: MVVMCROSS 6 Nie używa już plików bootstrap dla wtyczek. Zamiast tego wtyczki są ładowane przy użyciu atrybutu „[Mvxplugin]” i dziedzicząc po „imvxplugin”. To upraszcza proces dodawania i zarządzania wtyczkami w Twojej aplikacji [7].
3. Już wyraźne odniesienia: W niektórych przypadkach wtyczki mogą nie być załadowane, chyba że są one wyraźnie odwołane w twoim kodzie. Jest to szczególnie istotne, jeśli Twój projekt nie używa bezpośrednio typów z wtyczki, ponieważ kompilator może nie zawierać zespołu wtyczki w wyjściu kompilacji [5].
4. Kompatybilność wersji: Upewnij się, że wszystkie pakiety MVVMCROSS, w tym wtyczki, są aktualizowane do tej samej wersji, aby uniknąć problemów związanych z kompatybilnością. Ma to kluczowe znaczenie, ponieważ MVVMCROSS 6 wymaga .NET Standard 2.0, a wszystkie komponenty muszą być zgodne z tym wymogiem [4] [7].
5. Ładowanie wtyczek: Metoda „LoadPlugins` służy do ładowania wtyczek podczas uruchamiania aplikacji. Jeśli napotkasz problemy z wtyczkami nie ładującymi, może być konieczne zastąpienie tej metody w pliku „setUp.cs`, aby ręcznie upewnić się, że wtyczki są ładowane prawidłowo [1] [2].
6. Konkretne wtyczki: Chociaż nie ma konkretnych wtyczek, które powszechnie wymagają uwagi, wtyczki takie jak wtyczka Messenger może wymagać aktualizacji, aby dopasować wersję używanej wersji MVVMCROSS. Na przykład podczas aktualizacji z MVVMCross 6.4.2 do 8.0.1 upewnij się, że wtyczka Messenger jest również aktualizowana do wersji 8.0.1, aby uniknąć problemów z rozdzielczością [9].
Podsumowując, aktualizacja do MVVMCROSS 6 obejmuje aktualizację przestrzeni nazw wtyczek, usuwanie plików bootstrap, zapewnienie wyraźnych odniesień do wtyczek, jeśli to konieczne, utrzymanie kompatybilności w wersji i ręczne ładowanie wtyczek w razie potrzeby.
Cytaty:[1] https://stackoverflow.com/questions/73128508/how-to-load-plugins-hen-updating 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-pgrade-from-6-4-2 to-8-0-1
[10] https://github.com/mvvmcross/mvvmcross/releases
[11] https://www.nuget.org/packages/mvvmcross.plugin.ble/