带有 FileOptions 参数的 FileStream 构造函数这仍然有效 .NET 5 吗?

问题描述

根据 .NET 5 documentation for the FileStream class,它仍然需要一个构造函数,允许用户传入一个 FileOptions 参数。

FileStream(String,FileMode,FileAccess,FileShare,Int32,FileOptions) 

然而在实践中,构造函数似乎并不存在。即使我导航到反编译的源代码,我也看不到它有谁知道这是文档疏忽还是我遗漏了什么?

请注意,如果重要的话,我正在使用 Windows 目标构建我的 .NET 5 应用程序

<TargetFramework>net5.0-windows</TargetFramework>

另外,如果重要的话,这就是我想要做的(不构建)

string path = Path.Combine(Folder,"temp-lock-delete-me.tmp");
_preventRenameFs = new FileStream(
    path,FileAccess.ReadWrite,FileShare.Delete | FileShare.Write | FileShare.Read,4096,FileOptions.DeleteOnClose);

解决方法

根据您的代码,您需要添加 FileMode 参数

string path = Path.Combine(Folder,"temp-lock-delete-me.tmp");
_preventRenameFs = new FileStream(
    path,FileMode.OpenOrCreate,// <-- add FileMode
    FileAccess.ReadWrite,FileShare.Delete | FileShare.Write | FileShare.Read,4096,FileOptions.DeleteOnClose);