Strategia FileStream legacy rimossa
L'opzione AppContext
- System.IO.UseNet5CompatFileStream
e la possibilità di usare l'implementazione legacy FileStream sono state rimosse.
Comportamento precedente
L'implementazione legacy di FileStream
era disponibile ed era possibile acconsentire esplicitamente ad essa tramite l'opzione UseNet5CompatFileStream
o la variabile di ambiente DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
.
Nuovo comportamento
A partire da .NET 7, non è più possibile acconsentire esplicitamente all'uso dell'implementazione legacy FileStream
.
Versione introdotta
.NET 7 Preview 1
Tipo di modifica che causa un'interruzione
Questa modifica può influire sulla compatibilità binaria.
Motivo della modifica
L'opzione UseNet5CompatFileStream
e la variabile di ambiente DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
sono state incluse in .NET 6 nel caso in cui la nuova implementazione abbia causato modifiche di rilievo. Eventuali modifiche che causano un'interruzione ora sono state risolte. Dato che non sono presenti altri bug introdotti dalle modifiche FileStream
, la modalità di compatibilità è stata rimossa e con esso tutto il codice legacy, che semplifica la manutenzione della codebase.
Azione consigliata
Se si usa attualmente l'opzione (o la variabile di ambiente DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
) per acconsentire esplicitamente al codice legacy e si sta eseguendo l'aggiornamento a .NET 7, l'opzione non avrà più alcun effetto ed è consigliabile rimuoverla.
API interessate
- 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()