アプリケーションはディレクトリにファイルを作成し、ディレクトリ内の何かを実行してからファイルを削除する必要があります。例えば、以下のソースコードは:ファイルを削除するとIOExceptionが発生する
File.Create("textfile.txt");
// Do something here
File.Delete("textfile.txt");
「何かが」だけ非常に短い時間を必要とするプロセスである場合、File.Deleteは(ファイルが別のプロセスによって使用されている)IOExceptionをスローします。別のSO投稿:Cannot delete directory with Directory.Delete(path, true)によると、Thread.Sleep(0)を呼び出すと前のプロセスが終了するはずです。ただし、
File.Create("textfile.txt");
// Do something here
Thread.Sleep(0);
File.Delete("textfile.txt");
であっても、同じIOExceptionが引き続き発生します。
私が得た解決策は、削除されるまでファイルを繰り返し削除しようとするwhileループです。しかし、私はtheresがより良い解決策であるかどうか疑問に思います。
非常に速い回答をいただきありがとうございます(MSDN上で指摘していますが、今は非常に明るい気がしていません)。彼が最初だから@usrと一緒に行くつもりです。しかし+1を私の感謝として受け入れてください。 – Jim