.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 ในแอปพลิเคชันของคุณ