前提・実現したいこと
開発環境
Windows7 pro
Visual Studio 2010
.NET Framework 4.7
開発言語 C#
上記の環境では、問題なく、複数回のDirectory.Moveが行われるのですが、
ビルドしたものをwindows10(※1)へ持っていくと、アクセス拒否が発生してしまいます。
※1 Windows10 pro .Net Framework4.7
尚、thread.sleep(100)を入れてみて実行したところ、問題が解消されました。
自分の中では、いくつか対処方法を考えてみたのですが、それよりもより良い方法があったら、教えてください。
パターン1(無限ループしそうなので、微妙)
try
{
Directory.Move(wkDir, wkDir1);
}
cach
{
Thread.Sleep(500);
}
パターン2
try
{
Directory.Move(wkDir, wkDir1);
}
cach (IOException)
{
//メソッド内容、ディレクトリにあるファイルに対して
//以下の処理を繰り返して行い
using (FileStream fi = new FileStream(mkfile, FileMode.Open))
{
fi.Flush();
}
//再度sleep後に実行
Thread.Sleep(500);
Directory.Move(wkDir, wkDir1);
}
発生している問題・エラーメッセージ
パス~でアクセス拒否が発生しました
該当のソースコード
C#
Directory.Move(wkDir, wkDir1);
試したこと
前提、実現したいことに記述しました
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー