Définir le timestamp sur un fichier en lecture seule sur Windows
La définition du timestamp sur un fichier avec l’attribut de lecture seule réussit désormais sur Windows et ne lève plus d’exception.
Ancien comportement
Avant les versions de maintenance de .NET 6, la définition du timestamp sur un fichier en lecture seule sur Windows a entraîné une UnauthorizedAccessException.
Nouveau comportement
À compter de .NET 6.0.2, la définition du timestamp sur un fichier en lecture seule sur Windows réussit.
Version introduite
.NET 6.0.2 (version de maintenance)
Type de changement cassant
Ce changement peut affecter la compatibilité binaire.
Raison du changement
Les clients ont envoyé des commentaires indiquant qu’ils s’attendaient à ce que le timestamp d’un fichier en lecture seule réussisse. Ce changement rend également le comportement de Windows cohérent avec Linux. Enfin, le comportement était involontaire, provoqué par un bogue.
Action recommandée
Il est peu probable que le code existant s’attende à ce que le timestamp d’un fichier en lecture seule échoue. Toutefois, si votre code s’attend à ce qu’il échoue, ajoutez une vérification de l’attribut en lecture seule à l’aide de File.GetAttributes(String) avant de tenter de définir le timestamp.
API affectées
- System.IO.File.SetCreationTime(String, DateTime)
- System.IO.File.SetCreationTimeUtc(String, DateTime)
- System.IO.File.SetLastAccessTime(String, DateTime)
- System.IO.File.SetLastAccessTimeUtc(String, DateTime)
- System.IO.File.SetLastWriteTime(String, DateTime)
- System.IO.File.SetLastWriteTimeUtc(String, DateTime)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour