2009-10-26 10 views
31

で使用されているため、プロセスはファイルにアクセスできません。それは私はlog4netののログファイルを読み込むしようとしている別のプロセス

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read) 

と私は、トピックに指定された例外を取得します。 Log4Netはファイルの排他ロックを保持していると思いますが、例えばNotepad ++はファイルを読むことができますが、これは技術的に可能です。

助けが必要ですか?

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 

EDITを::

答えて

65
using (FileStream fs = 
    new FileStream(filePath, 
     FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) 
//... 

http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx

あなたのログがロックされた書き込み、そうFileShare.ReadWriteで試すことができます。

+2

+1は非常に便利なリンクを追加します。少なくとも私のために:-) – bastianneu

+0

これは助けになりました!ありがとう! –

+2

これは私のためには機能しません。ファイルが別のプロセスで使用されているとはいまだ言います。どんな考え? – tyegah123

12

はそれが助けかどうかを確認し、ファイル共有オプションを追加してみたコードではなく、FileShare.Readを修正したが、トリックは(ギョームが同様に示したよう)FileShare.ReadWriteありません。理由:あなたはあなたのファイルを開き、同時に他の人がそれを読み書きできるようにします。

+0

入力いただきありがとうございますが、これで問題は解決されませんでした。 – pistacchio

関連する問題