C# 打开一个';正在被另一个进程使用

C# 打开一个';正在被另一个进程使用,c#,file-io,file-in-use,C#,File Io,File In Use,我已经研究了几种读取另一个进程已经在使用的文件的解决方案,但它们似乎都不适合我 我试图读取的文件是一个XML文件,其中包含我需要提取的配置设置 以下是我尝试过的: using (var stream = File.Open("\\\\2008r2\\c$\\ProgramData\\location\\siteConfig.xml", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var reader = new Str

我已经研究了几种读取另一个进程已经在使用的文件的解决方案,但它们似乎都不适合我

我试图读取的文件是一个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());
    }
}
这似乎适用于几乎所有其他人,我不知道我做错了什么!我的文件是否以不同的方式锁定,甚至无法读取

非常感谢您的帮助


Dave

根据您的评论,原始进程已使用
FileShare.None打开文件。发件人:

拒绝共享当前文件。任何打开文件的请求(通过 此进程(或其他进程)将失败,直到文件关闭


原始进程上有一个独占锁,因此除非
FileShare
枚举从
None
更改或文件关闭,否则您将无法读取该进程。

查看MSDN文档您是否收到文件正在使用的异常或其他错误消息?我收到一个IOException,进程无法访问文件“\\2008r2\c$\ProgramData\location\siteConfig.xml”,因为另一进程正在使用该文件。我已经阅读了文件打开的MSDN,但我无法理解它,或者可能文件像我说的那样被锁定了?所以我已经查看了打开文件的过程的源代码,他们使用了
FileShare.None
,这是否意味着根本无法读取文件?是的,这很不幸!很遗憾,我无法更改独占访问:(