【发布时间】:2013-04-23 05:13:09
【问题描述】:
我正在使用Directory.Move(oldDir, newDir) 重命名目录。我时不时收到IOException 说“对路径“oldDir”的访问被拒绝”。但是,如果我右键单击资源管理器中的目录,我可以重命名它而不会出现任何问题。怎么样?我怎样才能让它工作?
编辑
程序仍在运行,我得到了异常并且可以在我的光标暂停在断点上时手动重命名它。我还尝试在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
}
}
}
}
如您所见,我刚刚输入了方法。我以前从未接触过程序中的目录。还有其他方法可以重命名目录吗?
【问题讨论】:
-
您在哪个平台上运行? WinForms、WPF、Silverlight、ASP 等?
-
这是 Windows 控制台应用程序。
-
你找到解决办法了吗?