问题:在运行我的应用程序时使用Windows 7,未经授权的访问异常

Red*_*Eye 5 c# directory permissions windows-7 userappdatapath

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

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

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

就像是:

Application.UserAppDataPath.SetPermissions()
Run Code Online (Sandbox Code Playgroud)

Aar*_*ght 13

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

StreamReader sr = new StreamReader(Application.UserAppDataPath);
Run Code Online (Sandbox Code Playgroud)

Application.UserAppDataPath是一个目录,而不是一个文件.如果试图直接打开,这是一样试图打开一个文件一个级别低于 AppData文件夹,而你也没有权限做.

使用Path.Combine构建的路径里面的文件 AppData文件夹,即

string fileName = Path.Combine(Application.UserAppDataPath, "settings.xml");
StreamReader sr = new StreamReader(fileName);
Run Code Online (Sandbox Code Playgroud)

当然这只是一个例子 - 实际上你可能应该在AppData中使用特定于你的应用程序的子文件夹.

  • 这很可能是原因,也是我经常看到的原因.你肯定**想要在AppData下创建一个特定于你的应用程序并使用它的子目录. (3认同)