Stratégie FileStream héritée supprimée
Le commutateur AppContext
System.IO.UseNet5CompatFileStream
et la possibilité d’utiliser l’implémentation héritée FileStream ont été supprimés.
Comportement précédent
L’implémentation FileStream
héritée était disponible et vous pouviez la choisir à l’aide du commutateur UseNet5CompatFileStream
ou de la variable d’environnement DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
.
Nouveau comportement
À compter de .NET 7, vous ne pouvez plus choisir d’utiliser l’implémentation héritée FileStream
.
Version introduite
.NET 7 Preview 1
Type de changement cassant
Ce changement peut affecter la compatibilité binaire.
Raison de la modification
Le commutateur UseNet5CompatFileStream
et la variable d’environnement DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
ont été inclus dans .NET 6 au cas où la nouvelle implémentation entraînait des changements cassants. Tous les changements cassants ont maintenant été corrigés. Étant donné qu’il n’y a plus de bogues introduits par les modifications FileStream
, le mode de compatibilité a été supprimé et avec lui tout le code hérité, ce qui rend le codebase plus facile à gérer.
Action recommandée
Si vous utilisez actuellement le commutateur (ou la variable d’environnement DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM
) pour choisir le code hérité et que vous effectuez une mise à niveau vers .NET 7, le commutateur n’aura plus d’effet et vous devez le supprimer.
API affectées
- 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()