Есть ли возможность использовать 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