5

我的应用程序引发了未经授权的访问错误。在运行我的应用程序时,我尝试访问以下位置的目录:Application.UserAppDataPath。

问题:它说我没有访问 Application.UserAppDataPath 目录的权限

有没有办法在我的应用程序源代码中设置权限?

就像是:

Application.UserAppDataPath.SetPermissions()
4

2 回答 2

13

看着你的评论,你说这是你的代码:

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 中使用特定于您的应用程序的子文件夹。

于 2010-03-04T02:38:29.237 回答
2

它可能是 UAC 问题,尝试将您的应用程序作为提升的进程运行,并查看错误是否仍然存在

于 2010-03-04T02:02:05.553 回答