C# 对路径的访问被拒绝
我正在学校做一个项目,试图从Windows XP中删除一个文件 但是,即使在设置了文件的属性之后,也会遇到此错误 对路径的访问被拒绝“ 文件位于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
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哪一行代码引发了异常?别忘了检查您要删除的文件是否为只读。如果是这样,即使您完全控制了文件,也会出现错误。