0

不幸的是,我目前无法直接访问我的代码,但该应用程序执行以下操作:

  • 得到string[] files = Directory.GetFiles(dir, "*.mp3", SearchOptions.AllDirectories);
  • 遍历 files 中的每个文件并获得一个通用的 Tag 对象(不是专门的 IDV3 对象,或者任何格式)
  • 从 Tag 对象构建一个带有新文件名 {track no} - {track name} 的字符串并将其添加到列表中
  • File.Copy(files[i], newFileName, true)重命名文件(使用新名称复制到同一目录)

File.Copy崩溃,它告诉我另一个进程正在使用该文件。我知道事实上没有其他人在使用这些文件,但是我的代码中的某处必须锁定它们,我不知道是什么,也不知道如何推断它是哪一位。

我已经尝试添加myTagObject.Save(); myTagObject.Clear(); myTagObject = null;以防 TL# 锁定文件,但我想不出我可以在那里做更多的事情来释放它。

4

0 回答 0