เมื่ออัพเกรดเป็น MVVMCROSS 6 การเปลี่ยนแปลงและการพิจารณาหลายประการเกี่ยวกับปลั๊กอินมีความสำคัญที่จะต้องทราบ:
1. โครงสร้างปลั๊กอินและเนมสเปซ: ใน MVVMCROSS 6 โครงสร้างปลั๊กอินได้รับการ refactored เนมสเปซสำหรับปลั๊กอินเปลี่ยนจาก `mvvmcross.plugins. {pluginname}. {แพลตฟอร์ม}` ถึง `mvvmcross.plugin {pluginName} .platforms {แพลตฟอร์ม}` การเปลี่ยนแปลงนี้ทำให้การจัดการปลั๊กอินง่ายขึ้น แต่ต้องมีการอัปเดตในรหัสของคุณหากคุณอ้างอิงเนมสเปซเหล่านี้โดยตรง [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- เมื่ออัปเดตถึง mvvmcross-6-4-2-2-from-5-6-2-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-UMGRADE-FROM-6-4-2-BON-8-0-1
[10] https://github.com/mvvmcross/mvvmcross/releases
[11] https://www.nuget.org/packages/mvvmcross.plugin.ble/