.NET Core - การแก้ไขปัญหา PCL

ในบทนี้เราจะแก้ไขข้อผิดพลาดที่เราได้รับขณะติดตั้งแพ็คเกจ NuGet จากฟีดส่วนตัวของเราในโครงการ Xamarin.Forms

เราจะทำความเข้าใจปัญหาโดยสังเขปต่อไป ในการเริ่มต้นให้เราคลิกขวาที่ไลบรารี PCL และเลือก Properties

ในหน้านี้คุณจะเห็นกรอบงานทั้งหมดที่กำหนดเป้าหมายไว้ จากข้อผิดพลาดคุณจะเห็นว่า. NETPortable profile 259 เข้ากันไม่ได้กับ StringLibrary 1.0.1 ของเรา อย่างไรก็ตามกำลังพยายามอ้างอิงจากไลบรารี. NET Standard 1.1

ตอนนี้ให้เราดู. NET Standard Library และระบุว่าแพลตฟอร์มใดที่เข้ากันไม่ได้กับไลบรารีของเรา

คุณจะเห็นว่า Windows Phone Silverlight 8 เข้ากันได้กับ. NET Standard 1.0 หากคุณเปิดหน้าเว็บต่อไปนี้คุณจะเห็นว่า Profile259 สามารถรองรับเฉพาะ. NET Standard 1.0

ให้เรายกเลิกการเลือก Windows Phone Silverlight 8

คลิก OK ปุ่ม.

ตอนนี้เพื่อแก้ไขปัญหานี้ให้คลิกตกลงและยกเลิกกล่องโต้ตอบ Change Targets จากนั้นเปิด Package Manager Console และดำเนินการคำสั่งต่อไปนี้

PM > Uninstall-Package Xamarin.Forms

ตอนนี้ให้เราไปที่ Properties of PCL library คลิกที่ปุ่มเปลี่ยน

ยกเลิกการเลือก Windows Phone Silverlight 8 แล้วคลิกตกลง

ตอนนี้คุณจะเห็นว่า Windows Phone Silverlight 8 ไม่มีให้ใช้งานใน Targeted framework อีกต่อไป คุณยังสามารถดูโปรไฟล์ที่เป็นเป้าหมายได้ในขณะนี้ หากต้องการดูสิ่งนี้ให้เรายกเลิกการโหลดไลบรารี PCL และแก้ไขไฟล์ XamarinApp.csproj

ตอนนี้คุณสามารถเห็นได้ว่า TargetFrameworkProfile ตอนนี้คือ Profile111

หากคุณเปิดเอกสารคุณจะเห็นว่า Profile111 รองรับ. NET Standard 1.1

ให้เราโหลด PCL ใหม่อีกครั้งและเปิด NuGet Package Manager และลองติดตั้งแพ็คเกจ StringLibrary จากฟีดส่วนตัว

จากรายการดรอปดาวน์พฤติกรรมการพึ่งพาเลือกละเว้นการพึ่งพาแล้วคลิก Install.

คุณจะเห็นว่าตอนนี้แพ็คเกจ StringLibrary ถูกติดตั้งจากฟีดส่วนตัว หากคุณขยายการอ้างอิงของ PCL คุณจะเห็นว่ามีการเพิ่มการอ้างอิง StringLibrary ดังที่แสดงด้านล่าง

เราได้ถอนการติดตั้ง Xamarin.Forms สำหรับปัญหา Windows Phone Silverlight 8 แล้ว ต้องติดตั้ง Xamarin.Forms อีกครั้ง ขอแนะนำให้ติดตั้งเวอร์ชันเดียวกัน

เมื่อการติดตั้งเสร็จสิ้นให้เราใช้ฟังก์ชัน StringLibrary ในแอปพลิเคชันของคุณ