#c# #xamarin #xamarin.forms
#c# #xamarin #xamarin.forms
Вопрос:
В этом примере я пытаюсь заставить работать самое простое чтение файлов на c #, но это выдает мне следующие две ошибки:
Система.Исключение UnauthorizedAccessException: «Доступ к пути»D:test.txt «отказано».
Исключение типа ‘System.В системе произошло исключение UnauthorizedAccessException.Частное.CoreLib.dll но не был обработан в пользовательском коде.
Моя проблема в том, что запуск Visual Studio с правами администратора не решит мою проблему, тогда мне нужно создать из нее приложение Xamarin UWP. Моя другая проблема заключается в том, что мне придется выполнять несколько задач, с которыми у меня та же проблема. Эти задачи, например, с использованием POS-принтера.
Когда я попытался использовать код printers, который отлично работал с Windows forms, в моем коде c # в приложении Xamarin, он выдал ту же ошибку, что и при простом чтении файла.
Я уже пытался запустить Visual Studio с правами администратора, что не решило мою проблему. Я также пытался использовать
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
в app.manifest по-прежнему появляется та же ошибка
Код: Я знаю, что это немного, но все остальные части работают нормально до этих двух строк.
public void testFunction()
{
string tmpFile = File.ReadAllText(@"D:test.txt");
}
Часть, в которой я получил ошибку для принтера:
PrintExtensions.Print(BytesValue, "\\DESKTOP-7LVN776\EPSON TM-T20II");
Это моя структура проекта. Вы можете видеть, что я не хочу использовать код за пределами UWP
Ответ №1:
Из документации:
Приложения универсальной платформы Windows (UWP) по умолчанию могут обращаться к определенным расположениям файловой системы. Приложения также могут получать доступ к дополнительным местоположениям через средство выбора файлов или путем объявления возможностей.
Таким образом, приложение UWP не может произвольно обращаться к файлам в системе, для которых у него нет разрешения. Если вы хотите, чтобы приложение имело эти дополнительные разрешения, см. Этот раздел документации.