มีวิธีใดบ้างที่อนุญาตให้ฉันใช้ System.IO ในแอปพลิเคชัน UWP

ขณะนี้ฉันกำลังทำงานกับแอปพลิเคชัน UWP และสิ่งหนึ่งที่ฉันต้องทำคือเขียนไบต์ไปยังไฟล์โดยใช้คลาส System.IO นี่เป็นเพราะว่าหนึ่งในไลบรารีที่แอปพลิเคชันของฉันขึ้นอยู่กับนั้นใช้เมธอด System.IO.File.WriteAllBytes()

การใช้คลาส StorageFolder ไม่ใช่สิ่งที่ฉันอยากทำเนื่องจากบางโปรเจ็กต์ที่ฉันกำลังทำ (บางโปรเจ็กต์ไม่ใช่ UWP บางโปรเจ็กต์เป็น CLI) ขึ้นอยู่กับไลบรารีนี้ที่ฉันเขียนและ StorageFolder มีเฉพาะใน UWP เท่านั้น .

ฉันได้เพิ่ม broadFileSystemAccess เป็นหนึ่งในความสามารถของแอปพลิเคชัน UWP ของฉัน อย่างไรก็ตาม หลังจากอ่านเอกสารอย่างละเอียด ฉันพบว่าความสามารถนี้มีผลกับคลาส StorageFolder เท่านั้น ไม่ใช่คลาส System.IO นอกจากนี้ ฉันเป็นคนเดียวที่จะใช้แอปพลิเคชันนี้ ดังนั้นฉันคิดว่าการเปิดใช้งานสิทธิ์การเข้าถึงไฟล์ในการตั้งค่าระบบ (ดังแสดงในภาพที่ให้ไว้) จะช่วยได้ อย่างไรก็ตามนั่นไม่ได้ช่วยอะไรเลย

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือข้อความยกเว้นที่ฉันได้รับ

"Access to the path 'C:\\proj\\proj_tig\\Project 112\\bin\\x64\\Debug\\AppX\\Dependencies.zip' is denied."

มีวิธีใดที่เป็นไปได้ในการใช้วิธี System.IO.File.WriteAllBytes() เลยใน UWP หรือไม่


person Ryan Marks    schedule 06.07.2020    source แหล่งที่มา


คำตอบ (1)


มีวิธีใดบ้างที่อนุญาตให้ฉันใช้ System.IO ในแอปพลิเคชัน UWP

ในการตรวจสอบเส้นทางและดูโฟลเดอร์การติดตั้งแอป น่าเสียดาย โฟลเดอร์การติดตั้งเป็นแบบอ่านอย่างเดียว เราไม่สามารถเขียนข้อมูลลงไปได้ เราขอแนะนำให้คุณใช้แอป' โฟลเดอร์ในเครื่อง ที่ได้รับอนุญาตแบบเต็มและคุณสามารถใช้ System.IO เนมสเปซเพื่อเข้าถึงได้ สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารนี้

person Nico Zhu - MSFT    schedule 06.07.2020
comment
ขอบคุณสำหรับการตอบกลับ. ฉันได้ค้นคว้าเกี่ยวกับ UWP มากขึ้นเรื่อยๆ และในที่สุดฉันก็ได้ตัดสินใจที่จะไม่ใช้มันสำหรับแอปพลิเคชันนี้ที่ฉันกำลังสร้างเนื่องจากแซนด์บ็อกซ์ทำให้ฉันมีปัญหามากกว่าการแก้ไข - person Ryan Marks; 06.07.2020
comment
แอป UWP ที่ทำงานบนแซนด์บ็อกซ์นั้นได้รับการออกแบบมาโดยเฉพาะ และหากคุณต้องการให้แอป uwp มีสิทธิ์มากขึ้น คุณสามารถสร้างส่วนขยายเดสก์ท็อปสำหรับแอป uwp ได้ หากต้องการข้อมูลเพิ่มเติม โปรดค้นคว้า UWP พร้อมส่วนขยายเดสก์ท็อป และหากคำตอบมีประโยชน์โปรดทำเครื่องหมายไว้ - person Nico Zhu - MSFT; 07.07.2020