Usunięto starszą strategię FileStream
Przełącznik AppContext
System.IO.UseNet5CompatFileStream
i możliwość korzystania ze starszej FileStream implementacji zostały usunięte.
Poprzednie zachowanie
FileStream
Starsza implementacja była dostępna i można ją wyrazić przy użyciu przełącznika UseNet5CompatFileStream
lub zmiennej środowiskowejDOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
.
Nowe zachowanie
Począwszy od platformy .NET 7, nie możesz już wyrazić zgody na korzystanie ze starszej FileStream
implementacji.
Wprowadzona wersja
.NET 7 (wersja zapoznawcza 1)
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność binarną.
Przyczyna wprowadzenia zmiany
Przełącznik i DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
zmienna UseNet5CompatFileStream
środowiskowa zostały uwzględnione na platformie .NET 6, jeśli nowa implementacja spowodowała zmiany powodujące niezgodność. Wszystkie zmiany powodujące niezgodność zostały naprawione. Ponieważ nie wprowadzono już żadnych usterek wprowadzonych przez FileStream
zmiany, tryb zgodności został usunięty i wraz z nim cały starszy kod, co ułatwia konserwację bazy kodu.
Zalecana akcja
Jeśli obecnie używasz przełącznika (lub DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
zmiennej środowiskowej), aby wyrazić zgodę na starszy kod i uaktualniasz go do platformy .NET 7, przełącznik nie będzie już mieć żadnego wpływu i należy go usunąć.
Dotyczy interfejsów 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()