Получение ошибки доступа к файлам при удалении файла в C#
Привет,
Я использую AsParallel для перебора списка файлов в каталоге, чтобы скопировать их в какое-то другое место, после чего, когда я пытаюсь удалить их, я получаю ошибку доступа к файлу, говоря, что он используется другим процессом.
Может ли кто-нибудь сказать, где это вызывает проблему.
Что я уже пробовал:
command.OutputDirectory .GetFilesWhere(source => source.Extension.In(command.OutputExtensions)) .AsParallel() .ForEach(source => { Logger.LogInfo(@"Copying [{0}] to [{1}]...".FormatWith(source.FullName, OutputDirectory)); source.CopyTo(OutputDirectory.PathCombine(source.Name), true); try { source.Delete(); } catch (Exception e) { Logger.LogError("Exception while deleting the output file: " + e.Message); } } );
Ramana Bellary
Мои сомнения состоят в том, если источник.CopyTo все еще держит ссылку на файл.
Или это вызвано из-за использования методами asparallel !!!