提交 35a3eb48 编写于 作者: N nulltoken

Replaced call to Directory.Delete() with a recursive method which properly...

Replaced call to Directory.Delete() with a recursive method which properly deal with read-only attributes.
上级 17222ee5
......@@ -30,7 +30,7 @@ public void Setup()
[TestFixtureTearDown]
public void TestFixtureTearDown()
{
Directory.Delete(_testRepositoriesDirectoryPath, true);
DeleteDirectory(_testRepositoriesDirectoryPath);
}
public static void CopyFilesRecursively(DirectoryInfo source, DirectoryInfo target)
......@@ -57,5 +57,27 @@ static private string RetrieveAssemblyDirectory()
string path = Uri.UnescapeDataString(uri.Path);
return Path.GetDirectoryName(path);
}
private static void DeleteDirectory(string directoryPath)
{
// From http://stackoverflow.com/questions/329355/cannot-delete-directory-with-directory-deletepath-true/329502#329502
string[] files = Directory.GetFiles(directoryPath);
string[] dirs = Directory.GetDirectories(directoryPath);
foreach (string file in files)
{
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
}
foreach (string dir in dirs)
{
DeleteDirectory(dir);
}
File.SetAttributes(directoryPath, FileAttributes.Normal);
Directory.Delete(directoryPath, false);
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册