質問
を使用してい SharpSvn 図書館アプリケーションの一環として私の自動統合試験は,試験リポジトリのチェックアウト作業コピーを行ういくつかの試験の後、削除のリポジトリおよび作業コピーフォルダの中に別のフォルダを作
しかしながら、 Directory.Delete(workingCopyPath, true);
常果 UnauthorizedAccessException
メッセージ"アクセスのコストパフォーマンス作品"が拒否されます。".いを再現できるエラーコード:
using (var svnClient = new SvnClient())
{
svnClient.CheckOut(
new SvnUriTarget(new Uri(repositoryPath)), workingCopyPath);
}
Directory.Delete(workingCopyPath, true);
このエラーが発生しま
- みを削除するには作業コピーの作成 による 前 の統合 試験
Thread.Sleep
数秒前 しようと削除
ばエクスプローラ使用"を手動で削除一時作業コピーが付かないエラーとなります。
何がおかしい。何が正しいprogramatically削除するsubversionの作業コピー?
解決
Directory.Delete
判明読み取り専用ファイルを削除することを拒否します。
私は今、削除のディレクトリに、このメソッドを使用します:
private void DeleteDirectory(string path)
{
var directory = new DirectoryInfo(path);
DisableReadOnly(directory);
directory.Delete(true);
}
private void DisableReadOnly(DirectoryInfo directory)
{
foreach (var file in directory.GetFiles())
{
if (file.IsReadOnly)
file.IsReadOnly = false;
}
foreach (var subdirectory in directory.GetDirectories())
{
DisableReadOnly(subdirectory);
}
}
所属していません StackOverflow