Apakah ada yang memungkinkan saya menggunakan System.IO dalam aplikasi UWP

Saat ini saya sedang mengerjakan aplikasi UWP dan salah satu hal yang perlu saya lakukan adalah menulis byte ke file menggunakan kelas System.IO. Ini karena salah satu perpustakaan tempat aplikasi saya bergantung menggunakan metode System.IO.File.WriteAllBytes().

Menggunakan kelas StorageFolder bukanlah sesuatu yang ingin saya lakukan karena beberapa proyek yang saya buat (ada yang bukan UWP, ada yang CLI) bergantung pada perpustakaan yang saya tulis dan StorageFolder hanya tersedia di UWP .

Saya telah menambahkan broadFileSystemAccess sebagai salah satu kemampuan aplikasi UWP saya. Namun, setelah membaca dokumentasi dengan seksama saya menemukan bahwa kemampuan ini hanya mempengaruhi kelas StorageFolder dan bukan kelas System.IO. Selain itu, saya satu-satunya orang yang akan menggunakan aplikasi ini, jadi menurut saya mengaktifkan hak akses file di Pengaturan Sistem (seperti yang ditunjukkan pada gambar yang disediakan) akan membantu. Namun hal itu tidak membantu sama sekali

masukkan deskripsi gambar di sini

Inilah pesan pengecualian yang saya terima

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

Apakah ada cara yang mungkin untuk menggunakan metode System.IO.File.WriteAllBytes() di UWP?


person Ryan Marks    schedule 06.07.2020    source sumber


Jawaban (1)


Apakah ada yang memungkinkan saya menggunakan System.IO dalam aplikasi UWP

Untuk pengecekan pathnya, dan terlihat folder instalasi aplikasi, sayangnya folder instalasi tersebut bersifat read-only, kita tidak bisa menulis data ke dalamnya. kami sarankan Anda menggunakan folder lokal itu dengan izin penuh, dan Anda dapat menggunakan System.IO namespace untuk mengakses. Untuk detail selengkapnya, lihat dokumen ini.

person Nico Zhu - MSFT    schedule 06.07.2020
comment
Terima kasih balasannya. Saya telah melakukan lebih banyak penelitian tentang UWP dan akhirnya saya memutuskan untuk tidak menggunakannya untuk aplikasi yang saya buat ini karena sandboxing menyebabkan lebih banyak masalah daripada penyelesaian. - person Ryan Marks; 06.07.2020
comment
Aplikasi UWP yang dijalankan di kotak pasir merupakan desain khusus, dan jika Anda ingin membuat aplikasi uwp memiliki lebih banyak izin, Anda dapat membuat ekstensi desktop untuk aplikasi uwp, untuk lebih lanjut silakan teliti UWP dengan Ekstensi Desktop . Dan jika jawabannya bermanfaat, harap pertimbangkan untuk menandainya. - person Nico Zhu - MSFT; 07.07.2020