私はフォームでイメージを表示するC#アプリケーションを持っています。私はこれらの画像を上書きして再生成しようとしています。私は既存のイメージを削除しようとしている間に例外が発生します(この場合はpngです)。私は、ピクチャボックスが使用しているイメージを廃棄し、それをnullに設定しようとしましたが、共有違反のために例外が発生します。それにもかかわらず、エクスプローラに行って問題なくファイルを削除できます。vshost.exeによってロックされたイメージファイルを削除するC#
この画像がどのプロセスにロックされているかを調べる際に、プロセスモニタは私のアプリケーションをホストしているvhost.exe
だと教えてくれます。
どうすればこの問題を回避できますか?私はそれを削除/再作成できるようにファイルをロックを解放するホストを得ることができるいくつかの方法はありますか?最終的には、私のデータベースがグラフィックスに影響を与える変更を受けるたびに更新が必要なサムネイルとして生成される多数のイメージがあります。私はこれを行うためにコマンドシェルを呼び出す必要があると思うのは嫌です。
ありがとうございました。
ゲイリー
vshost.exeは*お使いのプログラムです。 vshost部分はデバッグ用のアーティファクトです。あなたは確かにどこかで処分されたコールがありません。 –
あなたが使用しているコードを投稿できますか? –