Мое приложение повышает ошибку несанкционированного доступа. При запуске моего приложения я пытаюсь получить доступ к каталогу в следующем месте: Приложение. UserAppDataPath.
Проблема: Это говорит, что у меня нет разрешения получить доступ к Приложению. Каталог UserAppDataPath
Существует ли способ установить полномочия в рамках моего исходного кода приложения?
Что-то как:
Application.UserAppDataPath.SetPermissions()
Глядя на ваш комментарий, вы говорите, что это ваш код:
StreamReader sr = new StreamReader(Application.UserAppDataPath);
Application.UserAppDataPath
- это каталог , а не файл . Если вы попытаетесь открыть его напрямую, это то же самое, что попытаться открыть файл на один уровень ниже папки AppData, на что у вас действительно нет разрешения.
Используйте Path.Combine
, чтобы создать путь к файлу внутри папки AppData, т.е.
string fileName = Path.Combine(Application.UserAppDataPath, "settings.xml");
StreamReader sr = new StreamReader(fileName);
Конечно, это всего лишь пример - на самом деле вам, вероятно, следует использовать подпапка внутри AppData, специфичная для вашего приложения.
Вероятно, это проблема UAC. Попробуйте запустить приложение как процесс с повышенными правами и посмотрите, сохраняется ли ошибка