Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Существуют ли конкретные плагины, которые требуют внимания при обновлении до MVVMcross 6


Существуют ли конкретные плагины, которые требуют внимания при обновлении до MVVMcross 6


При обновлении до MVVMcross 6, важно отметить несколько изменений и соображений, касающихся плагинов:

1. Структура плагина и пространства имен: в MVVMcross 6 структура плагина была рефакторирована. Пространство имен для плагинов изменилось с `mvvmcross.plugins. {PluginName}. {Platform}` до `mvvmcross.plugin. {PluginName} .platforms. {Platform}`. Это изменение упрощает управление плагинами, но требует обновлений в вашем коде, если вы напрямую ссылаетесь на эти пространства имен [4].

2. Файлы начальной загрузки: MVVMcross 6 больше не использует файлы Bootstrap для плагинов. Вместо этого плагины загружаются с использованием атрибута `[mvxplugin]` и наследуя от `imvxplugin`. Это упрощает процесс добавления и управления плагинами в вашем приложении [7].

3. Явные ссылки: в некоторых случаях плагины не могут быть загружены, если они явно не ссылаются в вашем коде. Это особенно актуально, если ваш проект напрямую не использует типы из плагина, так как компилятор может не включать сборку плагина в выходной сигнал [5].

4. Совместимость версии: убедитесь, что все пакеты MVVMcross, включая плагины, обновляются до одной и той же версии, чтобы избежать проблем совместимости. Это важно, потому что MVVMcross 6 требует .NET STANDARL 2.0, и все компоненты должны соответствовать этим требованиям [4] [7].

5. Загрузка плагинов: метод `loadplugins 'используется для загрузки плагинов во время запуска приложения. Если вы столкнетесь с проблемами с плагинами, не загруженными, вам может потребоваться переопределить этот метод в вашем файле `setup.cs`, чтобы вручную убедиться, что плагины загружаются правильно [1] [2].

6. Конкретные плагины: Хотя нет конкретных плагинов, которые универсально требуют внимания, плагины, такие как плагин Messenger, могут понадобиться обновления, чтобы соответствовать версии MVVMcross, которую вы используете. Например, при обновлении с MVVMcross 6.4.2 до 8.0.1 убедитесь, что плагин Messenger также обновлен до версии 8.0.1, чтобы избежать проблем с разрешением [9].

Таким образом, обновление до MVVMcross 6 включает в себя обновление пространств имен плагина, удаление файлов начальной загрузки, обеспечение явных ссылок на плагины, если это необходимо, поддержание совместимости версий и вручную загрузку плагинов, если это необходимо.

Цитаты:
[1] https://stackoverflow.com/questions/73128508/how-to-load-lugins-when-updation-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/