C# 进程无法访问该文件,因为远程服务器上的另一个进程正在使用该文件

C# 进程无法访问该文件,因为远程服务器上的另一个进程正在使用该文件,c#,asp.net,asp.net-mvc,network-programming,file-permissions,C#,Asp.net,Asp.net Mvc,Network Programming,File Permissions,“Directory.Delete”在下面的代码中给出了一个错误 进程无法访问该文件,因为该文件正由用户使用 另一个过程 有什么建议吗 下面的代码第一次运行良好。但当执行第二次时,它会给出错误 public void Method1(){ // NetworkShareAccesser implenting IDispoable // e.g: public class NetworkShareAccesser : IDisposable

“Directory.Delete”
在下面的代码中给出了一个错误

进程无法访问该文件,因为该文件正由用户使用 另一个过程

有什么建议吗

下面的代码第一次运行良好。但当执行第二次时,它会给出错误

 public void Method1(){  

           //  NetworkShareAccesser implenting IDispoable
           // e.g: public class NetworkShareAccesser : IDisposable
           using (NetworkShareAccesser.Access(Config.DMS_SERVER_IP, Config.SERVER_DOMAIN_NAME, Config.SERVER_USERNAME, Config.SERVER_PASSWORD))
           {
           try
           {       
                 Directory.Delete(absolutePathServerForService, true);  
                 Directory.CreateDirectory(absolutePathServerForService);
                 Common.CopyFilesRecursively(new DirectoryInfo(sourcePath), new DirectoryInfo(targetPath));
            }
            catch (Exception e) { loggingService.Error(ex); }
    }

    // following method in common class 
    public static void CopyFilesRecursively(DirectoryInfo source, DirectoryInfo target)
    {
            foreach (DirectoryInfo directoryInfo in source.GetDirectories())
                CopyFilesRecursively(directoryInfo, target.CreateSubdirectory(directoryInfo.Name));
             foreach (FileInfo fileInfo in source.GetFiles())
                  fileInfo.CopyTo(Path.Combine(target.FullName, fileInfo.Name),true);                   
            }

这可能是因为FileInfo.copy无法看到本文。你必须创建文件并清理句柄。你说的第二次是什么意思?这两种方法中哪一种会导致错误?