我正在使用Directory.Move(oldDir, newDir)
重命名目录。时不时我会听到“拒绝访问路径“oldDir”IOException
的说法” 。但是,如果我右键单击资源管理器中的目录,我可以重命名它而不会出现任何问题。怎么样,我怎样才能让它工作?
编辑
该程序仍在运行,我得到了异常并且可以在我的光标暂停在断点上时手动重命名它。我还尝试在 处设置断点Directory.Move
,成功地在资源管理器中重命名目录(然后再次返回),跨过Directory.Move
并最终进入catch (IOException)
了。所以我不明白为什么我的程序应该锁定目录。一定有别的东西。
有任何想法吗?
编辑 2
这是我的代码
public bool Copy()
{
string destPathRelease = ThisUser.DestPath + "\\Release";
if (Directory.Exists(destPathRelease))
{
try
{
string newPath = ThisUser.DestPath + '\\' + (string.IsNullOrEmpty(currBuildLabel) ? ("Release" + '_' + DateTime.Now.ToString("yyyyMMdd_HHmmss")) : currBranchName) + '.' + currBuildLabel;
Directory.Move(destPathRelease, newPath);
catch (IOException)
{
// Breakpoint
}
}
}
}
如您所见,我刚刚输入了该方法。我以前从未接触过程序中的目录。还有另一种重命名目录的方法吗?