عند الترقية إلى MVVMcross 6 ، من المهم أن نلاحظ ملاحظة العديد من التغييرات والاعتبارات المتعلقة بالمكونات الإضافية:
1. بنية البرنامج المساعد ومساحات الأسماء: في MVVMCROSS 6 ، تم إعادة بناء بنية البرنامج المساعد. تم تغيير مساحة الاسم للمكونات الإضافية من `mvvmcross.plugins. {pluginname}. يؤدي هذا التغيير إلى تبسيط إدارة البرنامج المساعد ولكنه يتطلب تحديثات في الكود الخاص بك إذا كنت تشير مباشرة إلى مساحات الأسماء هذه [4].
2. ملفات bootstrap: لم يعد MVVMcross 6 يستخدم ملفات bootstrap للإضافات. بدلاً من ذلك ، يتم تحميل المكونات الإضافية باستخدام السمة `[mvxplugin]` والوراثة من `imvxplugin`. هذا يبسط عملية إضافة وإدارة الإضافات في التطبيق الخاص بك [7].
3. المراجع الصريحة: في بعض الحالات ، قد لا يتم تحميل المكونات الإضافية ما لم يتم الرجوع إليها بشكل صريح في الكود الخاص بك. هذا مهم بشكل خاص إذا لم يستخدم مشروعك أنواعًا مباشرة من المكون الإضافي ، حيث قد لا يتضمن برنامج التحويل البرمجي مجموعة البرنامج المساعد في إخراج البناء [5].
4. توافق الإصدار: تأكد من تحديث جميع حزم MVVMcross ، بما في ذلك الإضافات ، إلى نفس الإصدار لتجنب مشكلات التوافق. هذا أمر بالغ الأهمية لأن MVVMCROSS 6 يتطلب .NET Standard 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 تحديث مساحات أسماء المكون الإضافي ، وإزالة ملفات bootstrap ، وضمان إشارات صريحة إلى المكونات الإضافية إذا لزم الأمر ، والحفاظ على توافق الإصدار ، وتحميل الإضافات يدويًا إذا لزم الأمر.
الاستشهادات:[1] https://stackoverflow.com/questions/73128508/how-to-load-plugins-when-tupdating-to-mvvmcross-6-4-2-from-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-mvmcross-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/mvvmcrossprade-from-6-4-2-to-8-0-1
[10] https://github.com/mvvmcross/mvvmcross/releases
[11] https://www.nuget.org/packages/mvvmcross.plugin.ble/