private void rmdir(DirectoryInfo dir)
        {
            if ( dir.Attributes != FileAttributes.Normal )
            {
                dir.Attributes = FileAttributes.Normal;
            }            dir.Delete(true);
        }异常为:对路径“.........”的访问被拒绝。

解决方案 »

  1.   

    是不是文件夹下的文件操作后Stream或者相关对象没有close
      

  2.   

    对文件夹的属性设置会不会影响到所有子文件夹以及文件?
    会不会是子文件或者文件夹的属性仍非Normal?
      

  3.   


            private void remove()
            {
                DirectoryInfo dir = new DirectoryInfo(@"xxxxx");            if ( dir.Attributes != FileAttributes.Normal )
                {
                    dir.Attributes = FileAttributes.Normal;
                }            dir.Delete(true);
            }
    所有代码大概就是这个样子,没有其它附加操作。
      

  4.   

    dir.Delete(true);
    哦,参数设置true了
      

  5.   


            private void rmdirForcibly(DirectoryInfo dir)
            {
                // 清理该路径
                foreach (var subDir in dir.GetDirectories())
                {
                    rmdirForcibly(subDir);
                }            foreach (var file in dir.GetFiles())
                {
                    file.Attributes = FileAttributes.Normal;
                    file.Delete();
                }            dir.Delete(true);
            }
    我递归删掉了。谢谢啊,确实是有文件导致的。