レガシ FileStream 戦略が削除されました
AppContext
スイッチ System.IO.UseNet5CompatFileStream
が削除され、レガシ FileStream 実装を使用する機能が削除されました。
以前の動作
従来の FileStream
実装が利用できない場合、UseNet5CompatFileStream
スイッチまたは DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
環境変数を使用してオプトインできます。
新しい動作
.NET 7 以降、レガシ FileStream
実装の使用は選択できなくなりました。
導入されたバージョン
.NET 7 Preview 1
破壊的変更の種類
この変更は、バイナリの互換性に影響を与える可能性があります。
変更理由
新しい実装が破壊的変更を引き起こす場合に備え、UseNet5CompatFileStream
スイッチと DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
環境変数が .NET 6 に含まれていました。 破壊的変更はすべて修正されています。 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()
関連項目
.NET