C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ディレクトリ作成に成功するのにExistでFalseとなる


(過去ログ 136 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■80194 / inTopicNo.1)  ディレクトリ作成に成功するのにExistでFalseとなる
  
□投稿者/ ああ (3回)-(2016/06/20(Mon) 23:27:48)

分類:[.NET 全般] 

おせわになっております。

if (Directory.Exists(dir))
{
Directory.Delete(dir, true);
}
Directory.CreateDirectory(dir);
if (Directory.Exists(dir) == false) throw new Exception("!!!");

上記のコードで!!!の例外になることがたまにあるのですが、
何か原因がありますでしょうか。
よろしくお願いします。

環境 VS2013 C#

引用返信 編集キー/
■80195 / inTopicNo.2)  Re[1]: ディレクトリ作成に成功するのにExistでFalseとなる
□投稿者/ 774RR (416回)-(2016/06/21(Tue) 07:20:25)
この手の「ファイル関係で再現性低い障害」は、たいていウイルス対策ソフトのせいだったりする。
ディレクトリの作成時にリアルタイム検索が入って、ウイルス対策ソフトがディレクトリをロックしてたり。
一時的に対策ソフトを無効化してみる(その場合はネットワーク接続を外しておこう)とか
作業フォルダが事前に決まっているならそこをホワイトリストに入れて検索させない設定にしてみるとか。

あとは当該作成場所がネットワークドライブだと他者と競合負けしているなど。
自分が CreateDirectory した直後に他者が Delete してたらそうなるよね。
その場合は排他が必要になりそう。

今提示されている情報で何か言えるとしたらこの程度かな・・・
引用返信 編集キー/
■80196 / inTopicNo.3)  Re[2]: ディレクトリ作成に成功するのにExistでFalseとなる
□投稿者/ ああ (4回)-(2016/06/21(Tue) 09:25:03)
ご回答ありがとうございました。
ウィルス対策ソフトは停止させましたが状況は変わらず、ネットワークドライブでもありません。
ウィンドウズのエクスプローラーが開いていたのですが、
それを閉じれば改善したかもしれません。
(本当に改善したのかはわからないのですが)

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -