-2

別のプロセスで既に使用されているファイルを読み取るためのいくつかの解決策を見てきましたが、どれもうまくいかないようです。

読み取ろうとしているファイルは、抽出する必要がある構成設定を含む XML ファイルです。

これが私が試したことです:

using (var stream = File.Open("\\\\2008r2\\c$\\ProgramData\\location\\siteConfig.xml", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var reader = new StreamReader(stream))
{
    // Actions you perform on the reader.
    while (!reader.EndOfStream)
    {
        Console.WriteLine(reader.ReadLine());
    }
}

これは他のほぼすべての人に有効なようですが、何が間違っているのかわかりません! 私のファイルは別の方法でロックされており、読み取ることさえできませんか?

大変助かりました!

デイブ

4

1 に答える 1

1

あなたのコメントから、元のプロセスはFileShare.None. MSDNから:

現在のファイルの共有を拒否します。(このプロセスまたは別のプロセスによる) ファイルを開く要求は、ファイルが閉じられるまで失敗します。

FileShare元のプロセスには排他ロックがあるため、列挙が変更されるNoneか、ファイルが閉じられない限り、そこから読み取ることはできません。

于 2014-11-08T19:55:43.687 に答える