舊版 FileStream 策略已移除
AppContext
參數 System.IO.UseNet5CompatFileStream
與使用舊版 FileStream 實作的功能已移除。
先前的行為
舊版 FileStream
實作可供使用,您可以藉由使用 UseNet5CompatFileStream
開關或 DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
環境變數來選擇加入它。
新的行為
從 .NET 7 開始,您無法再選擇加入以使用舊版 FileStream
實作。
導入的版本
.NET 7 Preview 1
中斷性變更的類型
這項變更會影響二進位相容性。
變更原因
.NET 6 已隨附 UseNet5CompatFileStream
切換和 DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
環境變數以防止新的實作造成中斷性變更。 現在所有中斷性變更已經修正。 既然 FileStream
變更後不會再引起錯誤,我們便移除相容性模式和所有舊版程式碼,這能讓程式碼基底更易於維護。
建議的動作
如果您目前是使用開關 (或 DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
環境變數) 來選擇加入舊版程式碼並升級為 .NET 7,該開關將不再有效並應移除。
受影響的 API
- System.IO.FileStream
- System.IO.File.Create(String)
- System.IO.File.Create(String, Int32)
- System.IO.File.Create(String, Int32, FileOptions)
- System.IO.File.Create(String, Int32, FileOptions, FileSecurity)
- System.IO.File.Open(String, FileMode)
- System.IO.File.Open(String, FileStreamOptions)
- System.IO.File.Open(String, FileMode, FileAccess)
- System.IO.File.Open(String, FileMode, FileAccess, FileShare)
- System.IO.File.OpenRead(String)
- System.IO.File.OpenWrite(String)
- System.IO.FileSystemAclExtensions.Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)
- System.IO.FileInfo.Create()
- System.IO.FileInfo.Open
- System.IO.FileInfo.OpenRead()
- System.IO.FileInfo.OpenWrite()