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.

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