Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对路径的访问被拒绝_C#_File Io - Fatal编程技术网

C# 对路径的访问被拒绝

C# 对路径的访问被拒绝,c#,file-io,C#,File Io,我正在学校做一个项目,试图从Windows XP中删除一个文件 但是,即使在设置了文件的属性之后,也会遇到此错误 对路径的访问被拒绝“ 文件位于C:\Document and Settings\%user%\Local Settings\Temp中 如何解决这个问题 if(File.Exists(filePath)) { FileSecurity sec = File.GetAccessControl(filePath); sec.AddAccess

我正在学校做一个项目,试图从Windows XP中删除一个文件

但是,即使在设置了文件的属性之后,也会遇到此错误

对路径的访问被拒绝“

文件位于
C:\Document and Settings\%user%\Local Settings\Temp

如何解决这个问题

if(File.Exists(filePath))
{                   
  FileSecurity sec = File.GetAccessControl(filePath);
  sec.AddAccessRule(new FileSystemAccessRule(Environment.UserName,
                    FileSystemRights.FullControl, AccessControlType.Allow));
  File.SetAccessControl(filePath, sec); 
  File.SetAttributes(filePath, FileAttributes.Normal);
  File.Delete(filePath);
}

这意味着另一个程序正在使用该文件。
必须先关闭文件(或整个程序),然后才能删除它


如果您的程序使用该文件,请确保关闭(而不是交叉)流。

文件安全设置文件本身的权限。这很好,但并不意味着您有删除该文件的权限。请尝试以管理员身份运行您的应用程序,看看这是否有区别。

检查您是否有“管理员”权限“或删除文件的相关权限

如果您有管理权限,那么请检查您提到的文件是否具有其他“权限”,例如:少数MS文件无法删除

检查是否指定了正确的文件名

如果您已经验证了所有这些,那么您已经打开了该文件,或者在代码中没有关闭该文件以将其删除


即使上述解决方案不起作用,该文件也可能已损坏,或者其他用户或您自己仍在使用未关闭的文件。

到目前为止,代码块还可以

但是,请记住以下几点:

a。对于Windows XP,对于您登录的用户,请确保该用户在管理员组中,并且该用户具有管理员访问权限,以便该用户运行的任何应用程序都具有管理员权限

b。对于其他更新的窗口,如Vista、Windows 7,请尝试以管理员身份运行应用程序(右键单击应用程序,然后在弹出窗口中单击“以管理员身份运行”,同时签入开发时间-以管理员身份运行IDE)


希望这会有帮助。

这是关于路径的访问,而不是文件访问问题(必要)。不一定。这可能意味着该用户是以非管理员身份运行的(XP支持),并且无权更改访问规则或访问其他用户的文件夹。@Polity:他应该始终有权访问
C:\Document and Settings\%user%\Local Settings\Temp
。不要跨流!www.youtube.com/watch?v=jyalzhijnej哪一行代码引发了异常?别忘了检查您要删除的文件是否为只读。如果是这样,即使您完全控制了文件,也会出现错误。