0

我在运行时尝试读取 exe 文件,如下所示:

FileStream fs = new FileStream(assemblyPath, FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] bin = br.ReadBytes(Convert.ToInt32(fs.Length));
fs.Close();

但是会引发异常:该文件无法访问,因为它被另一个进程占用。

但是,我可以使用 Windows 资源管理器复制此文件。所以可以读取这个文件。如何在我的程序中阅读它?谢谢!

4

1 回答 1

1

尝试:

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

FileShare.Read标志是关键,它控制其他 FileStream 对象对同一文件的访问类型。

于 2013-10-30T08:29:03.543 回答