gpt4 book ai didi

c# - 为什么当另一个进程打开文件时 TextReader 会报错?

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:19 29 4
gpt4 key购买 nike

参见下面的简单单元测试示例

[Test]
public void TextReaderRequiresWriteAccessToFile()
{
using (var reader = File.OpenText(Path.Combine(Folder, "Texts.txt")))
{
}
}

当我在编辑器中打开文本文件时,此测试失败。我希望该文件将被 File.OpenText 以读取权限打开。

System.IO.IOException : The process cannot access the file 'C:\*a location to a folder*\Texts.txt' because it is being used by another process.

.NET 是否需要额外的权限才能通过此 API 打开文件进行读取?

最佳答案

哦,但它只需要读取权限。

问题在于编辑器甚至会阻止读取访问(在 .NET 中,这将是 FileShare.None - 写入访问的默认设置)。如果您在这两种情况下都使用 OpenText 打开文件,而不是使用编辑器,它就可以正常工作。因此,您可能需要一个不会锁定文件的编辑器(例如,Visual Studio)。

这不是 .NET 的问题 - 编辑器完全禁止您打开文件进行阅读。您可能想阅读一下有关共享文件访问的内容。

关于c# - 为什么当另一个进程打开文件时 TextReader 会报错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23777879/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com