问题描述
根据 .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);