XML マニフェストに書き込むカスタマイズされたアプリ (そのソースは私たちの管理下にありません) の進行状況を監視しています。マニフェスト ファイルに書き込めないために、アプリケーションが停止することがあります。File.Close を使用してファイル ハンドルを明示的に閉じ、ブロックの使用でファイル変数を作成することで、トレースをカバーしていますが。しかし、どういうわけかそれは起こり続けます。(私たちのアプリケーションはマルチスレッド化されており、最大で 3 つのスレッドがファイルにアクセスしている可能性があります。) もう 1 つの興味深い点は、彼らのアプリが 3 つの異なるイベント (項目の追加、項目の削除、項目の完了) でこのマニフェストを更新することですが、私たちが苦しんでいるのは 1 つのイベントだけです。 (アイテムの完成)。私のコードはここにリストされています
using (var st = new FileStream(MenifestPath, FileMode.Open, FileAccess.Read))
{
using (TextReader r = new StreamReader(st))
{
var xml = r.ReadToEnd();
r.Close();
st.Close();
//................ Rest of our operations
}
}