เตรียมการพัฒนาด้วย WinUI 3
สภาพแวดล้อมในการทํางาน
- หน้าต่าง
-
- หน้าต่าง 11
- วิชวลสตูดิโอ
-
- Visual Studio 2022 เวอร์ชัน 17.9.3
- ตาข่าย
-
- .NET 6
- (.NET 8)
- วินยูไอ
-
- วินยูไอ 3
- SDK แอป Windows
-
- 1.4.230913002
ข้อกําหนดเบื้องต้น
ในบางกรณี เวอร์ชันที่ต่ํากว่าอาจใช้งานได้เช่นกัน
- หน้าต่าง
-
- หน้าต่าง 10
- หน้าต่าง 11
- วิชวลสตูดิโอ
-
- Visual Studio 2022 เวอร์ชัน 17.9.3 หรือใหม่กว่า
- ตาข่าย
-
- .NET 6
- (.NET 8)
- SDK แอป Windows
-
- 1.4.230913002 หรือใหม่กว่า
ติดตั้ง Visual Studio และตั้งค่า WinUI
โครงการพัฒนา WinUI 3 สามารถเพิ่มได้ด้วยการติดตั้ง Visual Studio ส่วนนี้ให้คําอธิบายอย่างง่ายของกระบวนการติดตั้ง Visual Studio สําหรับคําแนะนําโดยละเอียด โปรดดูเคล็ดลับต่อไปนี้
เปิดโปรแกรมติดตั้ง Visual Studio 2022 จากอินเทอร์เน็ตหรือสื่อ รองรับรุ่น Community, Professional หรือรุ่นที่สูงกว่า
ในการเลือกปริมาณงาน ให้เลือก การพัฒนาเดสก์ท็อป NET
「. NET Desktop Development และตรวจสอบเทมเพลต C# ของ Windows App SDK จากรายละเอียดการติดตั้งทางด้านขวา
ตอนนี้เพียงแค่เริ่มการติดตั้ง มีหน้าจออื่น ๆ แต่ฉันจะไม่อธิบายจนกว่าพวกเขาจะสร้างโครงการ
เมื่อการติดตั้งเสร็จสิ้น ให้สร้างโครงการใหม่
มี ในรายการค้นหาที่ด้านขวาบน ดังนั้นเมื่อคุณเลือก เทมเพลตโครงการ WinUI 3 จะปรากฏขึ้น ดังนั้นให้เลือก winui
เทมเพลตใดก็ได้และสร้างโครงการ
ตอนนี้คุณสามารถพัฒนาแอปพลิเคชันโดยใช้ WinUI 3
ถ้าคุณเห็น "การกําหนดเป้าหมายรุ่นของ .NET ที่ไม่ได้ติดตั้ง"
ในเวอร์ชัน Visual Studio 2022 17.9.1
.NET สําหรับ WinUI 3 กําหนดเป้าหมาย .NET 6
หากคุณไม่เลือกรันไทม์เพิ่มเติมใน Visual Studio 2022 จะมีการติดตั้งเฉพาะรันไทม์ .NET 8 เท่านั้น และคุณอาจเห็นคําเตือนดังด้านล่าง
หากคุณกังวล คุณสามารถติดตั้งรันไทม์ .NET 6 หรือเพียงแค่ปิดคําเตือน คุณไม่จําเป็นต้องติดตั้งรันไทม์ .NET 6 เพื่อแก้ไขข้อบกพร่อง
ถ้าคุณต้องการเพิ่มสภาพแวดล้อมการพัฒนา WinUI 3 ในภายหลัง
ถ้าคุณติดตั้ง Visual Studio ก่อน คุณสามารถเพิ่มสภาพแวดล้อมการพัฒนา WinUI 3 ในภายหลัง
เริ่ม Visual Studio และเลือก เครื่องมือ > รับเครื่องมือและคุณลักษณะ จากเมนู
หน้าจอเดียวกับเมื่อคุณติดตั้ง Visual Studio จะปรากฏขึ้น ดังนั้นคุณจึงสามารถใช้ . ตรวจสอบให้แน่ใจว่าได้เลือก "การพัฒนาเดสก์ท็อป .NET" และตรวจสอบ "เทมเพลต Windows App SDK C#" จาก "รายละเอียดการติดตั้ง" ทางด้านขวา
เปิดใช้งานโหมดนักพัฒนา
แอปพลิเคชัน WinUI ทํางานในสภาพแวดล้อมที่ปรับปรุงความปลอดภัยซึ่งแตกต่างจากแอปพลิเคชันเดสก์ท็อปอื่นๆ ดังนั้นจึงไม่สามารถเรียกใช้ได้ตามที่เป็นอยู่ เมื่อคุณพยายามเรียกใช้ คุณจะเห็นกล่องโต้ตอบดังด้านล่าง และคุณจะได้รับแจ้งให้เปิดใช้งาน "โหมดนักพัฒนา" หากคุณคลิกลิงก์ หน้าจอการตั้งค่าจะปรากฏขึ้น ดังนั้นโปรดเปิดใช้งาน "โหมดนักพัฒนา"
แม้ว่าคุณจะไม่ได้ใช้ Visual Studio คุณยังสามารถเปิดหรือปิดใช้งาน "โหมดนักพัฒนา" ได้จากหน้าจอการตั้งค่า เลือก "การตั้งค่า" จากเมนูเริ่ม
จากเมนูระบบ ให้เลือกสําหรับนักพัฒนา
มีการสลับสําหรับ "สําหรับนักพัฒนา" ดังนั้นตั้งค่าเป็น "เปิด" หมายเหตุจะปรากฏขึ้น ดังนั้นเลือก "ใช่" เพื่อเปิดใช้งาน
หากคุณต้องการเปลี่ยนเป็น .NET 8
ถ้าคุณสร้างโครงการด้วยเทมเพลตนี้ จะมีค่าเริ่มต้นเป็น .NET 6 แม้ว่าฉันจะเปลี่ยนเฟรมเวิร์กเป้าหมายเป็น .NET 8 จากคุณสมบัติของโครงการ แต่บิลด์ยังคงแสดงข้อผิดพลาดและคําเตือน อย่างไรก็ตาม ประมาณ 03/13/2024 Windows App SDK จะได้รับการอัปเดตเพื่อรองรับ .NET 8 อย่างเป็นทางการ
อย่างไรก็ตาม เทมเพลตยังคงอยู่ใน .NET 6 ดังนั้นคุณจะต้องทํางานกับ .NET 8 เมื่อคุณสร้างโครงการแล้ว อาจมีความเป็นไปได้ที่จะได้รับการสนับสนุนในการอัปเกรดเวอร์ชันในอนาคต
ขั้นแรก ให้สร้างโครงการ จากนั้นใช้ NuGet เพื่ออัปเดตเวอร์ชันที่เกี่ยวข้องกับ Windows App SDK
เว้นแต่เป็นอย่างอื่นทุกอย่างเป็นปัจจุบัน Microsoft.WindowsAppSDK
ต้องมีอย่างน้อย 1.5.XXXX
เปลี่ยนเฟรมเวิร์กเป้าหมายเป็น .NET 8 จากคุณสมบัติโครงการ
แม้ว่าคุณจะสร้างในสถานะนี้ แต่ข้อผิดพลาดจะปรากฏขึ้นเนื่องจากการตั้งค่าโครงการล้าสมัย
เปิดไฟล์โครงการเป็นโค้ด
RuntimeIdentifiers
เนื่องจากมีพารามิเตอร์ ให้ลบอักขระของดังต่อไปนี้10
Win10
ก่อนการปรับเปลี่ยน
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
↓
หลังจากการแก้ไข
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
นอกจากนี้ยังเขียนการตั้งค่าการเผยแพร่ของโปรแกรมใหม่
เปิดแต่ละ .pubxml
ไฟล์ในโฟลเดอร์ Properties > PublishProfiles
ในทํานองเดียวกัน RuntimeIdentifier
ให้ลบอักขระของใน10
พารามิเตอร์Win10
ของ .
หลังจากนั้น สร้างใหม่และตรวจสอบว่าไม่มีข้อผิดพลาดหรือคําเตือน
.pubxml
(จะมีคําเตือนในไฟล์ แต่คุณไม่ต้องกังวลเพราะเป็นไวยากรณ์ที่แตกต่างจากปัญหานี้) )
อย่างไรก็ตามด้วยเหตุผลบางประการไลบรารีคลาส WinUI ยังคงเตือนแม้ว่าคุณจะทําสิ่งเดียวกันกับข้างต้นก็ตาม ในขณะนี้คุณสามารถเรียกใช้ได้ดังนั้นรอจนกว่าจะได้รับการแก้ไข